是否可以在常规ASP.NET(或类似的东西)中执行类似的操作:
<ul>
<% foreach (var item in Model) { %>
<li id="<%: item.Id %>">
blah blah
</li>
<% } %>
</ul>
我需要做一个网格,但我想控制html表的输出方式。
答案 0 :(得分:1)
是的,以这种方式编写的代码就好像它是用代码编写的。如果你想拥有两者,那也是有效的。在作为Model的类后面的页面代码中公开一个属性,然后您可以按照显示的方式访问它。
public partial class _Default : System.Web.UI.Page
{
protected List<WhateverClass> Model { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
// Populate the model here or in another appropriate event
}
}
答案 1 :(得分:0)
因为MVC只使用ASP.NET渲染引擎(&lt;%服务器标记来自),所以可能。但是,您应该使用转发器控件,如@Eric所述。问题是,在编译页面时可能无法初始化模型,并且您可能会获得空引用异常。
答案 2 :(得分:0)
是的,你可以这样做,但是在网络表单中,你应该做“web form way”(或者为什么要使用web表单)。
在您的示例中,您可以使用转发器完成相同的操作。
请注意这种风格的建议;两种方法都是100%正确。