【问题标题】:Variable inside of the markup for an asp:HyperLink NavigationUrl property?asp:HyperLink NavigationUrl 属性的标记内的变量?
【发布时间】:2010-03-09 09:05:45
【问题描述】:

我是 ASP.NET 新手,不知道如何完成此操作...

我的代码(需要修复):

<asp:HyperLink runat="server"
          NavigateUrl="~/EditReport.aspx?featureId=<%= featureId %>" />

featureId 在支持代码中被定义为整数。我想要href之类的......

  /EditReport.aspx?featureId=2224

...但是我却得到...

  /EditReport.aspx?featureId=<%= featureId %>

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    您可以在不使用 HyperLink 控件的情况下更轻松地做到这一点:

    <a href='<%=ResolveUrl("~/EditReport.aspx?featureId=" + featureId) %>'>Link</a>
    

    【讨论】:

      【解决方案2】:

      大多数 asp.net 开发人员都曾遇到过这种情况。这是我最喜欢的解决方案,因为它适用于任何服务器控件:

      http://weblogs.asp.net/infinitiesloop/archive/2006/08/09/The-CodeExpressionBuilder.aspx

      实际上,您将这个人的出色的小型自定义 ASP.NET 表达式生成器添加到您的项目中,然后将控件重写为如下所示:

      <asp:HyperLink runat="server"
           NavigateUrl='<%$ CODE: String.Format("~/EditReport.aspx?featureId={0}", featureId) %>' />
      

      正如他解释的那样,它比 &lt;%# %&gt; 方法更干净,因为不涉及 ViewState。还要注意单引号的使用,它允许在属性内使用双引号。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多