在锚标记中使用服务器标记

时间:2013-10-30 10:24:19

标签: c# asp.net

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

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

但是当呈现页面而不是将href作为"/test/example.aspx?id=5"时,我将"/test/example.aspx?id=<%# Id %>"作为明文指定为锚点的href。

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

有人可以帮我解决这个问题吗? N.B:我需要runat =“server”来存在。

我的标记不在任何网格视图控件内,而是在用户控件中。 &LT;%=

6 个答案:

答案 0 :(得分:1)

试试这个,

如果你想从你的.cs获得变量值,那么你可以使用。 在页面中声明变量。 .cs页面

 public int Id = 0;

aspx页面

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

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

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

答案 1 :(得分:0)

试试这个

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

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

答案 2 :(得分:0)

也许你可以试试这个

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

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

您还可以在href中设置CodeBehind锚标记。

<强>代码隐藏:

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

由于

答案 5 :(得分:0)

请试试这个,

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