我习惯在常规的ASP.Net web项目中使用Repeater控件。我看到ASP.Net MVC没有这样的事情。我应该在这里使用什么?在ASP.Net中寻找中继器类型功能MVC
编辑:
在回答这个问题,我在尝试这样做,我不能在foreach实现。我想我正在尝试获得交替的排样式。此外,在视图中添加标记之外的东西只是感觉有点不妥。但是,也许我会在与之合作时克服这一点。感谢您的答案。
我习惯在常规的ASP.Net web项目中使用Repeater控件。我看到ASP.Net MVC没有这样的事情。我应该在这里使用什么?在ASP.Net中寻找中继器类型功能MVC
编辑:
在回答这个问题,我在尝试这样做,我不能在foreach实现。我想我正在尝试获得交替的排样式。此外,在视图中添加标记之外的东西只是感觉有点不妥。但是,也许我会在与之合作时克服这一点。感谢您的答案。
最简单的方法是使用foreach
循环。
你想做什么?
编辑:
<% bool odd = false;
foreach(var row in something) { %>
<tr class="<%= odd ? "OddRow" : "EvenRow" %>">
...
</tr>
<% odd = !odd; } %>
为了增加SLaks响应。
您可以将您的html封装到部分视图中。
致电<%= Html.Partial("ViewName", optional_ViewModel) %>
。
这可能更接近中继控制。部分视图的类似于您的项目模板。
这种方法也可以很好地重用代码。
如果你错过了很多WebForms的功能,也许你只需要一个更丰富的视图引擎?我可以建议Spark View Engine?就像WebForms一样,它包含了很多功能,所以你不必一直重写相同的东西和/或写一大堆你自己的帮手。
Spark ViewEngine非常强大,我绝对喜欢它比使用WebForms ViewEngine时通常生成的标签汤更好... – 2010-03-09 18:12:23
交替行的样式可以通过CSS样式来实现...
顺便说一句 - 每一个从网页表格的funcionality可以在MVC实现......到底都是HTML,JS和CSS
你甚至可以为此创建一个HTML助手。
+1我的想法正好。没有像我们在非MVC中那样的控件。 – 2010-03-09 17:55:20
我想念最多的替代项目模板。 – uriDium 2010-03-09 17:56:41
您可以翻转一个布尔值并使用内联的三元运算符,这实际上比重复整个模板要容易得多。 – SLaks 2010-03-09 17:58:14