ASP.NET/MVC 语法

标签 asp.net asp.net-mvc-4

这个问题在这里已经有了答案:




9年前关闭。




Possible Duplicate:
ASP.NET “special” tags



我正在尝试了解 MVC 应用程序。它有多个用户控件。在这些控件中,我看到如下语法:
<%= ...some text ... %>
我也看过:
<%: ...some text ... %> <@ ...some text ... %> <% ...some text ... %> <%# ...some text ... %>
我可以看到它使我能够在控件/javascript 中编写代码,但我不完全理解 %、%:、%= 和 %# 之间的区别。

他们什么时候“执行/评估”?

如果 <%= ... => 有区别吗?是在用户控件中还是在 Javascript 函数中用单引号括起来?

我什至不确定我的标题是否正确,谷歌搜索时我什么也没得到。
因此,我会很高兴得到解释,对文档链接和正确的术语感到满意。

最佳答案

假设您在 ASP.NET MVC 中使用 WebForms View 引擎,您需要知道的内容如下:

  • <%= %> - 将输入的评估结果输出到响应中。例如 <%= "<div>foo</div>" %>输出 <div>foo</div> .
  • <%: %> - 与第一个相同,只是它对输出进行 HTML 编码。因此<%: "<div>foo</div>" %>将输出 &lt;div&gt;foo&lt;/div&gt; .
  • <% %> - 评估服务器上的表达式,但在响应中不输出任何内容。例如,您可以声明一个变量:<% string foo = "foo bar"; %>您可以稍后使用前两种方法之一输出
  • <%@ %> - 这仅用于定义 View 的 Page 或 Control 指令。它还允许您将命名空间和程序集带入给定 View 的范围内。例如 <%@ Import Namespace="System.IO" %>将带来System.IO命名空间进入范围。

  • 至于<%#就这一点而言,这在 ASP.NET MVC 中没有使用。它是一个称为数据绑定(bind)的概念,仅适用于经典的 WebForms 应用程序。

    关于ASP.NET/MVC 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14525811/

    相关文章:

    c# - Fluent ConfigurationSourceBuilder 导致 InvalidOperationException

    c# - MVC 4 Razor _Layout.cshtml 仅对一页使用 HTML 部分

    c# - API 路由抛出 "Resource Not Found"错误

    asp.net - 用户登录时如何比较这个加盐密码?

    asp.net - 使用 ASP .Net Core(非 mvc)的 Angular 2 路由

    asp.net-mvc-4 - MvcSiteMap 提供程序中的自定义属性

    c# - ModelState.IsValid 在使用 MongoDB 时包含错误

    c# - 带有包含字典的参数的 Api Controller 中的 JSON.Net 始终为空

    c# - 使用 Fine Uploader 分块上传文件,我无法将它们合并回一起

    c# - 如何将gridview中的列设置为自动生成的超链接