如何像在ASP中一样在WebForms中循环数据.网络MVC?例如,在MVC中,这很简单:

<table>
    @foreach (var myItem in g)
    { 
        @<tr><td>@MyItem.title<td></tr>
    }
</table>

后面的代码会是什么样子呢?

或者,我可以将MVC项目添加到WebForms应用程序中,以便使用MVC功能吗?

推荐答案

您可以使用类似的MVC类型的方式,使用<% %><%= %>标记,而不是使用转发器来循环列表.

<table>
  <% foreach (var myItem in g) { %>
    <tr><td><%= myItem.title %></td></tr>
  <% } %>
</table>

只要您正在循环访问的属性可以从aspx/ascx页面访问(例如,声明为受保护的或公共的),您就可以循环访问它.代码隐藏中没有其他代码是必要的.

<% %>将判断代码,<%= %>将输出结果.

以下是最基本的例子:

在你的代码隐藏中,在你的类级别声明以下列表:

public List<string> Sites = new List<string> { "StackOverflow", "Super User", "Meta SO" };

这只是一个简单的字符串列表,所以在您的ASPX文件中

<% foreach (var site in Sites) { %> <!-- loop through the list -->
  <div>
    <%= site %> <!-- write out the name of the site -->
  </div>
<% } %> <!--End the for loop -->

Asp.net相关问答推荐

为什么 @Html.EditorFor 和 @Html.PasswordFor 在 MVC 中创建不同的样式框?

强制从 /bin 而不是 GAC 加载程序集?

如何为发布模式设置调试错误

ASP.NET:获取自 1970 年 1 月 1 日以来的毫秒数

更新到 ASP.NET Core 2.0 - 包与 netcoreapp2.0 不兼容

配置转换和TransformXml 任务失败错误消息

从 ASP.NET 中的 POST 方法中检索数据

以编程方式添加跨度标签,而不是标签控件?

Asp.net 中的下拉列表验证使用必填字段验证器

使用 Asp.Net MVC 和 Web Api 配置 Ninject

修改 web.config 时如何防止 ASP.NET 应用程序重新启动?

如何防止 XXE 攻击(.NET 中的 XmlDocument)

这个rendersection的代码是什么意思?

IIS Express - 增加内存限制

ASP.NET 中的嵌套中继器

System.Linq.IQueryable 不包含Where的定义

使用 ConfigurationManager.RefreshSection 重新加载配置而不重新启动应用程序

IronRuby死了吗?

Windows 身份验证在本地 IIS 7.5 上不起作用.错误 401.1

如何创建代表 colored颜色 的随机十六进制字符串?