我有一个基本类型的IEnumerable作为我的模型。ASP.NET MVC 3:具体实现的输出特定视图
我需要在列表中显示不同的HTML位,具体取决于具体的类型。
所以结果列表可能会类似于此HTML中:
<ul>
<li class="points">Points - Item 1 - 10 points <a href="#">Remove</a></li>
<li class="media">Media - Item 2 - your_uploaded_image.jpg <a href="#">Remove</a></li>
<li class="content">Content - Item 3 <a href="#">Remove</a></li>
</ul>
很可能我会另一种类型添加到这个像下面这样以后的解决方案是不是真的我后。
@foreach(var item in Model)
{
if(item is PointImpl)
{
var pointItem = item as PointImpl;
<li class="points">Points - @pointItem.Name - @pointItem.Points points <a href="#">Remove</a></li>
}
else if(item is MediaImpl)
{
var mediaItem = item as MediaImpl;
<li class="media">Media - @mediaItem.Name - @mediaItem.FileName <a href="#">Remove</a></li>
}
/*
More implementations
*/
}
我看了一下模型元数据模板提示,但并没有真正帮助,因为我的模型是一个IEnumerable ..
我在想一个自定义的HTML帮助寻找一个属性具体的类型,但认为可能有内置的方式做到这一点?
谢谢。奇迹般有效。 –