Je souhaite créer un ASP.NET MVC ViewUserControl réutilisable qui est fortement typé pour une énumération.Pouvez-vous créer un ASP.NET MVC ViewUserControl fortement typé de type int ou enum?
Est-ce que cela peut être fait? Quand je l'essayer, il est dit que le type fort l'ViewUserControl peut accepter, ne peut être d'un type de référence :(
Cela signifie aussi que je ne peux pas passer un entier comme TModel.
Pourquoi je veux Pour ce faire, je montre une image simple qui dépend d'une énumération.Par conséquent, au lieu de copier cette logique à plusieurs endroits, je souhaite avoir cette ViewUserControl resuable et passer dans l'énumération.
par exemple.
public enum AnimalType
{
Cat,
Dog
}
// .. now code inside the view user control ...
switch (animalType)
{
case AnimalType.Cat: source = "cat.png"; text="cute pussy"; break;
... etc ...
}
<img src="<%=Url.Content("~/Images/" + source)%>" alt="<%=text%>" />
Je suis gu Essin la solution serait de créer pas un ViewUserControl fortement typé (parce que TModel type ne peut être de classe de type), puis procédez comme suit ..
<% Html.RenderPartial("AnimalFileImageControl", animalType); %>
et dans le ViewUserControl ...
AnimalType animalType = (AnimalType) ViewData.Model;
switch (animalType)
{ ... etc ... }
cheers :)
re: vue non typée - même. C'est ce que je vais faire avec. J'ai oublié de faire une structure: P Bonne idée, si je voulais la garder fortement typée. Merci encore Marc :) –