在锚标签href属性中使用eval函数

4
我想实现的是在锚点标签的href中使用Eval作为参数。由于锚点嵌套在repeater内部,所以我无法在后台代码中实现这一目标。我尝试了几种方法但没有成功。
<a href="http://MyWebsite/ActiveUsers?ID=InsertEvalHere"><%# Eval("Name")%></a>

以下是我尝试编写的代码:
<a href="<% "http://MyWebsite/ActiveUsers?ID=" + DataBinder.Eval(Container.DataItem("ID"))%>"><%# Eval("Name")%></a>

<a href="<% "http://MyWebsite/ActiveUsers?ID=" + Eval("ID")%>"><%# Eval("Name")%></a>

<a href="http://MyWebsite/ActiveUsers?ID=<% DataBinder.Eval(Container.DataItem("ID"))%>"><%# Eval("Name")%></a>

<a href="http://MyWebsite/ActiveUsers?ID=<%# Eval("ID")%>"><%# Eval("Name")%></a>

以上都好像不正确,因为我一直收到这个错误信息 - 标签格式不正确。

我该怎么处理?

6个回答

27
<a href="<%# String.Format("http://MyWebsite/ActiveUsers?ID={0}", Eval("ID")) %>">

4
请使用以下内容:
<a href='http://MyWebsite/ActiveUsers?ID=<%# Eval(Container.DataItem("ID"))%>'><%# Eval("Name")%></a>

1

使用单引号并将 URL 移到外面,就像这样

<a href='http://MyWebsite/ActiveUsers?ID=<% DataBinder.Eval(Container.DataItem("ID"))%>'><%# Eval("Name")%></a> 

0
如果您需要在代码后端访问锚点以根据 datalist_ItemDataBound 中的条件启用和禁用它,则可以使用 Nicky Waites 提供的方法,只需如下所示进行一些小修改。
<a id="register" runat="server" href='<%# String.Format("http://MyWebsite/ActiveUsers?ID={0}", Eval("ID")) %>'>

希望这对某人有帮助。

0
有点晚了,不过...
<a href='<%# Eval("ID","http://MyWebsite/ActiveUsers?ID={0}") %>'><%# Eval("Name")%></a>

0
在您的 Repeater 中,使用以下代码:
CommandName="Apikey" CommandArgument='<%#Eval("POAPI")%>'

并在代码后台中访问。


欢迎来到Stack Overflow,并感谢您的贡献。为什么您更喜欢这种表述方式,而不是接受的答案呢? - Jeremy Caney

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