我想创建一个可重用的ASP。净MVC ViewUserControl强类型的枚举。
这个可以做吗?当我尝试它,它说,强类型ViewUserControl可以接受,只能引用类型:(
这也意味着我可以传递int作为TModel。
为什么我要这么做?我n不同地方的我的网站,我显示一个简单的图像是依赖一个枚举。而不是复制这一逻辑在多个地方,我希望这个ViewUserControl重用,通过枚举中的。
如。
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%>" />
我guessin不解决方案是创建一个强类型ViewUserControl(因为TModel类型只能类型的类),然后做下面. .
<% Html.RenderPartial("AnimalFileImageControl", animalType); %>
和ViewUserControl……
AnimalType animalType = (AnimalType) ViewData.Model;
switch (animalType)
{ ... etc ... }
欢呼:)