首先,我在HyperLink.NavigateUrl
上的代码隐藏中更改了Page_Load()
。
但在我决定使用Eval()
方法进行设计之后。
<asp:HyperLink runat="server"
NavigateUrl='<%# String.Format("~/Refuse.aspx?type={0}&id={1}", Eval("type"), Eval("id")) %>' Text="Refuse" />
或
<asp:HyperLink ID="urlRefuse" runat="server"
NavigateUrl='<%# String.Format("~/Refuse.aspx?type={0}&id={1}", Request["type"], Request["id"]) %>' Text="Refuse" />
id
和type
- 来自Request
的变量。
但它不起作用。仅显示原始文本“拒绝”。我的错误在哪里?提前谢谢。
答案 0 :(得分:57)
这很有效
NavigateUrl='<%# Eval("type","~/Refuse.aspx?type={0}") %>'
答案 1 :(得分:15)
这对我有用
NavigateUrl='<%# String.Format("{0}.aspx?ID={1}", DataBinder.Eval(Container.DataItem, "Category"), DataBinder.Eval(Container.DataItem, "Post_ID")) %>'
答案 2 :(得分:4)
在浏览器中尝试使用ViewSource,在href中向客户端呈现的内容是什么?这是你的期望吗?如果您尝试使用请求集合中的变量而无法使用Eval,则需要使用Request查询字符串参数。
<asp:HyperLink runat="server"
NavigateUrl='<%# String.Format("~/Refuse.aspx?type={0}&id={1}", Request["type"], Request["id"]) %>' Text="Refuse" />
答案 3 :(得分:-1)
试试这个:
<asp:HyperLink ID="HyperLink2" runat="server" onclick='<%# String.Format("AcceptUser({0},{1})",Eval("UserId"), Eval("TsId")) %>' NavigateUrl="javascript:void(0)" Visible='<%# (bool)Eval("CanDelete") %>'>Accept</asp:HyperLink>
答案 4 :(得分:-1)
试试这个:
HttpUtility.UrlEncode(Eval("type")
答案 5 :(得分:-1)
试试这个对我有用:
Eval("type").ToString()