带有Eval()的NavigateUrl的HyperLink.哪里出错了?

aba*_*hev 22 .net c# asp.net eval code-behind

首先,我改变HyperLink.NavigateUrl了代码隐藏Page_Load().

但在我决定使用Eval()方法设计之后.

<asp:HyperLink runat="server"
     NavigateUrl='<%# String.Format("~/Refuse.aspx?type={0}&id={1}", Eval("type"), Eval("id")) %>' Text="Refuse" />
Run Code Online (Sandbox Code Playgroud)

要么

<asp:HyperLink ID="urlRefuse" runat="server"
     NavigateUrl='<%# String.Format("~/Refuse.aspx?type={0}&id={1}", Request["type"], Request["id"]) %>' Text="Refuse" />
Run Code Online (Sandbox Code Playgroud)

where idtype- 是来自的变量Request.

但它不起作用.仅显示原始文本"拒绝".我的错误在哪里?提前致谢.

小智 57

这很有效

NavigateUrl='<%# Eval("type","~/Refuse.aspx?type={0}") %>'
Run Code Online (Sandbox Code Playgroud)


Eti*_*nne 16

这对我有用

NavigateUrl='<%# String.Format("{0}.aspx?ID={1}", DataBinder.Eval(Container.DataItem, "Category"), DataBinder.Eval(Container.DataItem, "Post_ID")) %>'
Run Code Online (Sandbox Code Playgroud)