【问题标题】:Use server tag in an anchor tag在锚标记中使用服务器标记
【发布时间】:2013-10-30 10:24:19
【问题描述】:

我想在锚标记中使用属性 ID 值,如下所示:

<a id="aExample" href="/test/example.aspx?id=<%# Id %>" runat="server">Example</a>

但是当页面被渲染而不是获得"/test/example.aspx?id=5"的href时,我将"/test/example.aspx?id=&lt;%# Id %&gt;"作为纯文本分配为锚的href。

Id = 是在后面的代码中定义的属性。

任何人都可以帮我解决这个问题吗? 注意:我需要 runat="server"` 在场。

我的标签不在任何网格视图控件内,而是在用户控件内。

【问题讨论】:

  • 为什么不在后面的代码中指定href
  • 一个标签在gridvie或datalist里面?

标签: c# asp.net


【解决方案1】:

试试这个,

如果你想从你的 .cs 中获取变量值以便你可以使用。 在页面中声明变量。 .cs页面

 public int Id = 0;

aspx页面

<a id="aExample" href="/test/example.aspx?id=<%= Id %>" runat="server">Example</a>

并且您的 a 标签位于 gridview 控件中,因此您可以使用 like...

<a id="aExample" href="/test/example.aspx?id=<%#Eval("Id")%>" runat="server">Example</a>

【讨论】:

    【解决方案2】:

    请试试这个,

    <a id="aExample" href='<%# string.Format("/test/example.aspx?id={0}", Id) %>'  runat="server">Example</a>
    

    【讨论】:

      【解决方案3】:

      也许你可以试试这个

      <asp:HyperLink ID="aExample" runat="server" NavigateUrl='<%# String.Format("/test/example.aspx?id={0}", Eval("Id")) %>'>Example</asp:HyperLink>
      

      【讨论】:

        【解决方案4】:

        您可以在后面的代码中执行此操作(如果它不在 Gridview 或类似的其他控件中)

        aExample.Href = "/test/example.aspx?id="+ YourEntity.Id;
        

        【讨论】:

          【解决方案5】:

          试试这个

          <a id="aExample" href='<%= CompleteURL %>' runat="server">Example</a>
          

          如果您可以在属性中构建和绑定完整的 URL(代码隐藏)。我认为这可能是最佳解决方案。这样您还可以动态更改您的 URL。

          【讨论】:

            【解决方案6】:

            您也可以在CodeBehind中设置锚标记的href

            代码隐藏:

            int Id = 4;
            aExample.HRef = "/test/example.aspx?id=" + Id;
            

            谢谢

            【讨论】:

              猜你喜欢
              • 2011-02-16
              • 1970-01-01
              • 1970-01-01
              • 2019-12-05
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多