asp.net-mvc - 查看模板代码标签 - asp.net mvc - regd

标签 asp.net-mvc templates view

在 asp.net MVC View 引擎的上下文中 <% %> 和 <%: %> 有什么区别。在 MVC2 书中给出如下:

  • <% %> 代码块在 View 模板呈现时执行代码。
  • <%: %> 代码块执行其中包含的代码,然后将结果呈现给模板的输出流。

  • 什么时候用第一个,什么时候用第二个?

    最佳答案

    这本书几乎是正确的:
    <% %>代码块在 View 模板呈现时执行代码。所以如果你调用函数 <div><% MyFunc() %></div>如果渲染了 div 但在渲染结束标签之前,you 函数将在打开标签之后的渲染时间执行。该函数可以做任何你想做的事情,检查一些条件并因异常而失败,设置一些变量,使用 HttpContext.CurrentContext.Response.Write (或只是 Response.Write 在 webforms 中)写入响应流。
    <%: %>代码块执行其中包含的代码,然后渲染结果 html 编码 到模板的输出流。即与 <% HttpServerUtility.HtmlEncode(HttpContext.CurrentContext.Response.Write(MyFunc()))%> 相同
    <%= %>代码块执行其中包含的代码,然后渲染结果没有 html 编码 到模板的输出流。即与 <% HttpContext.CurrentContext.Response.Write(MyFunc())%> 相同

    ---MyFunc() 在最后两种情况下应该返回一个字符串。它也可以是对 ViewModel 的某些属性的引用。或任何其他计算为字符串的代码块。

    关于asp.net-mvc - 查看模板代码标签 - asp.net mvc - regd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3713578/

    相关文章:

    c# - 带有翻译的 ASP.NET MVC bundle 脚本

    c# - Xamarin.Form 的 LayoutOptions,尤其是 Fill 和 Expand 之间有什么区别?

    java - View 内的 runOnUiThread

    javascript - React Native 中的 WebView 整页截图

    javascript - 如何重新加载页面(AngularJs)

    asp.net-mvc - 我可以在实际项目中使用 Telerik ASP.NET MVC 扩展吗?

    c# - ASP.Net MVC 隐藏字段未按预期工作

    C++ 模板数组,传递类型

    wpf - 使用VS2010在线模板 "WPF MVVM project template",CanExecuteChanged不起作用?

    c++ - 对基于模板参数的模板实例化发出警告