【问题标题】:Differences between <%= and <%#? [duplicate]<%= 和 <%# 之间的区别? [复制]
【发布时间】:2014-05-08 09:10:37
【问题描述】:

我有以下代码:

<div id='mymodal' class="modal hide fade <%# CssClass %>">
    <div class="modal-header">
        <asp:HyperLink ID="closePopup" NavigateUrl='<%# CloseLink %>' CssClass="close" runat="server" >&times;</asp:HyperLink>
        <h3>
            <asp:Literal ID="header" Text='<%# Header %>' runat="server" />
        </h3>
    </div>
    <div class="modal-body">
        <asp:Literal ID="body" Text='<%# Body %>'  runat="server" />
    </div>
</div>

第一个 CssClass 绑定可以与 " 文本)。

这两种方法的用途是什么?为什么它会这样工作?两者相比有哪些优势?

【问题讨论】:

  • 但是为什么它在 ASP.NET 控件和 html 标记上的行为不同呢?它们都应该将属性数据绑定到代码的公共属性。
  • HTML 标签不能数据绑定。

标签: asp.net .net


【解决方案1】:

推荐人

Can you tell the differences between <%= %>, <%# %> and <%$ %> ASP.NET expressions?

我希望这个链接对你有很大帮助......

【讨论】:

    【解决方案2】:

    正如 Dan Crevier 所建议的

    http://blogs.msdn.com/b/dancre/archive/2007/02/13/the-difference-between-lt-and-lt-in-asp-net.aspx

    字面量表达到浏览器,它只是 无效的 HTML。结果你可以看到:

    简而言之,&lt;%= %&gt; is equivalent of Response.Write();

    <%# %>  is used for data-binding expressions.
    

    【讨论】:

      【解决方案3】:

      &lt;% %&gt; 用于将服务器端代码包含到 Render() 方法中

      &lt;%# %&gt; 用于数据绑定表达式

      要了解更多分隔符:

      ASP.NET "special" tags

      【讨论】:

      • 它在&lt;%= %&gt;&lt;%# %&gt; 之间,而不是&lt;%@ %&gt;
      • 抱歉,是我的错误,现在改正了
      猜你喜欢
      • 2014-11-01
      • 2013-07-01
      • 2012-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 2013-11-11
      • 2013-06-28
      相关资源
      最近更新 更多