在 ASP.NET 中,在 .aspx 中内联代码有哪些不同的方法?
题
我可以获得这些和其他内容的“何时使用”吗?
<% %>
<%# EVAL() %>
谢谢
解决方案
查看 Web 表单语法参考 在 MSDN 上。
对于基础知识,
<% %> 用于纯代码块。我通常只将其用于 if 语句
<div class="已验证">
<div class="未经身份验证">
- 用于将文本添加到标记中;也就是说,它等于
<div class='<%= IsLoggedIn ?“已验证”:“未经身份验证”%>'>
<%# Expression %> 与上面非常相似,但它是在 DataBinding 场景中计算的。这意味着您可以使用这些表达式来设置 runat="server" 控件的值,而使用 <%= %> 语法则无法做到这一点。通常,这在数据绑定控件的模板内部使用,但您也可以在页面中使用它,然后调用 Page.DataBind() (或 Control.DataBind())以使该代码进行计算。
链接文章中提到的其他内容不太常见,但也有其用途。
其他提示
您还可以使用
<%= Class.Method() %>
它会打印结果,就像您在 Ruby on Rails 中所做的那样。
只是想补充一下,还有资源表达式
<%$ Resources:resource, welcome%>
ASP.NET 会自动在卫星程序集中查找“welcome”的本地化版本。
在 ASP.NET 4.0 中,出现 <%:%> 用于编写 html 编码内容的语法。
<%: "<script>alert('Hello XSS')</script>" %>
可以用上面的代替belove。
<%= Html.Encode("<script>alert('Hello XSS')</script>")%>
不隶属于 StackOverflow