在ASP.NET中,在.aspx中内联代码的不同方法有哪些?

时间:2008-08-26 14:35:46

标签: .net asp.net syntax

我可以为这些和其他人获得“何时使用”?

<% %>
<%# EVAL() %>

由于

4 个答案:

答案 0 :(得分:15)

查看MSDN上的Web Forms Syntax Reference

基础知识,

  • &lt; %%&gt;用于纯代码块。我通常只将它用于if语句

      
        &lt; div class =“authenticated”&gt;
        
        &lt; div class =“unauthenticated”&gt;
        
  • 用于在标记中添加文字;也就是说,它相当于
      

    &lt; div class ='&lt;%= IsLoggedIn? “authenticated”:“unauthenticated”%&gt;'&gt;

  • &lt;%#Expression%&gt;与上面非常相似,但它在DataBinding场景中进行了评估。这意味着你可以使用这些表达式来设置runat =“server”控件的值,而不能使用&lt;%=%&gt;句法。通常,这是在模板内部用于数据绑定控件,但您也可以在页面中使用它,然后调用Page.DataBind()(或Control.DataBind())以使该代码进行评估。

链接文章中提及的其他文章不常见,但肯定也有其用途。

答案 1 :(得分:2)

您也可以使用

<%= Class.Method() %>

它将打印结果,就像在Ruby on Rails中一样。

答案 2 :(得分:2)

只想添加,还有资源表达式

<%$ Resources:resource, welcome%>

并且asp.net会自动在附属程序集中查找本地版本的“welcome”。

答案 3 :(得分:1)

在ASP.NET 4.0中,&lt;%:%&gt;用于编写html编码的语法。

<%: "<script>alert('Hello XSS')</script>" %>  

以上可以代替belove使用。

<%= Html.Encode("<script>alert('Hello XSS')</script>")%>