c# - 有没有比 <%= %> 更好、更简单的内联提取文本的方法?

标签 c# asp.net asp.net-mvc inline-code

假设我在 .aspx 页面(或 View ,对于 MVC 用户)中工作,并且我有一段内联代码:

<p>Some HTML and content</p>

<% foreach (var x in foo) { %>
   <%= x.myProperty %>
<% } %>

<p>Moar HTMLz</p>

有没有比这个模型更有效、更简单的方法来将文本提取到标记中?好像有很多<%

编辑 我想我真正想问的是是否有更好的方法从代码块获取页面上的文本而不离开代码块,重新进入代码块,然后重新进入封闭的代码块。

最佳答案

如果严格来说目标是减少 <% %> 部分,你可以把它写得很长,但这算不上什么改进:

<% foreach (var x in foo) {
       Response.Write(Html.Encode(x.MyProperty));
   } %>

如果你只是想让它远离 aspx 页面,你可以将它移到一个控件中:

<% Html.RenderPartial("properties", foo); %>

这种技术的一个优点是您可以为局部使用不同的 View 引擎(例如,NHaml),同时仍然保持 aspx 页面( View )的一般结构完整。

关于c# - 有没有比 <%= %> 更好、更简单的内联提取文本的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1950250/

相关文章:

asp.net - MVC4默认路由指向一个区域

c# - MySqlBulkUploader 将 Null 值从 CSV 插入到 MySql c#

asp.net-mvc - ASP.net MVC 中的二级 View

c# - unity - 正弦波振荡器产生金属噪音

c# - 循环依赖最佳实践

c# - 是否可以检查谁连接到您的无线网络?

c# - 在 ASP.NET C# 中抛出异常

javascript - 如何使用 asp.net 从文本框中调用函数?

c# - ASP.NET:如果我的 sql 数据类型是 float,DataReader 的返回类型是什么?

c# - MVCBuildViews 无法正常工作