避免ASP.NET MVC中的意大利面条代码

ETF*_*fax 9 model-view-controller asp.net-mvc

可能是一个愚蠢的问题,但这里有.在我看来,我有以下代码....

   <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Learner.MvcApplication.ViewModels.PagerViewModel>" %><% 

for (int i = Model.StartPage; i <= Model.EndPage; i++)
{
    %>
    <% =Html.Label(ViewData.Model.Controller + i.ToString()) %>
    <%
} %> 
Run Code Online (Sandbox Code Playgroud)

我是否必须关闭并重新打开对Html.Label"%> <%"等的调用?

我宁愿做点什么......

for (int i = Model.StartPage; i <= Model.EndPage; i++)
{
    Html.Label(ViewData.Model.Controller + i.ToString());
} 
Run Code Online (Sandbox Code Playgroud)

...但标签没有显示.

你能猜到我是新手吗?

非常感谢,

ETFairfax.

Dar*_*rov 26

<%=x %>只是一个捷径Response.Write(x):

for (int i = Model.StartPage; i <= Model.EndPage; i++)
{
    Response.Write(Html.Label(ViewData.Model.Controller + i.ToString()));
}
Run Code Online (Sandbox Code Playgroud)


Fil*_*erg 7

这只是一个短暂的标签<%=<% Response.Write 音符之间的差别<%<%=

所以你可以这样编写它:

for (int i = Model.StartPage; i <= Model.EndPage; i++)
{
    Response.Write(Html.Label(ViewData.Model.Controller + i.ToString()));
}
Run Code Online (Sandbox Code Playgroud)

有人可能会争论哪个更好......