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

3

我想在以下锚点标签中使用属性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 %>"作为锚点的纯文本赋值。
Id = 是在代码后台中定义的属性。
有人能帮我看看这个问题出在哪里吗? 注:我需要runat="server"`存在。
我的标签不在任何Grid view控件中,而是在一个用户控件中。<%=

为什么不在代码后台分配它的 href 呢? - Arran
标签是在GridView或DataList里面? - Manish Sharma
6个回答

1

尝试这个:

如果你想从你的 .cs 文件中获取变量值,那么你可以这样做。在你的页面中声明变量。 .cs 页面

 public int Id = 0;

网页

aspx页面

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

而且你的a标签在gridview控件内,所以可以像这样使用...

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

0

试试这个

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

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

0

或许你可以尝试这个

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

0

如果它不在GridView或其他控件中,您可以在代码后台完成此操作。

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

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

0

您还可以在CodeBehind中设置锚标签的href

CodeBehind:

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

谢谢


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接