首页 > 解决方案 > 无法使用超链接 URL 传递两个参数

问题描述

目前我的 Gridview 超链接正在 URL 中传递一个参数,如下所示

<asp:HyperLink ID="hlnkREQUEST_ID" runat="server" 
     Text='<%# DataBinder.Eval(Container, "DataItem.REQUEST_ID") %>' 
     NavigateUrl='<%# "~/StudentPages/viewREQUEST_ID_page.aspx?REQUEST_ID="+DataBinder.Eval(Container, "DataItem.REQUEST_ID")%>' >

现在,在同一个超链接中,我需要传递我添加的另一个参数,如下所示:

<asp:HyperLink ID="hlnkREQUEST_ID" runat="server" 
     Text='<%# DataBinder.Eval(Container, "DataItem.REQUEST_ID") %>' 
     NavigateUrl='<%# "~/StudentPages/viewREQUEST_ID_page.aspx?REQUEST_ID="+DataBinder.Eval(Container, "DataItem.REQUEST_ID") & REQUESTER="+DataBinder.Eval(Container, "DataItem.REQUESTER")%>'>

但这会导致错误

当前上下文中不存在“REQUESTER”

这里有什么问题?

标签: c#asp.netgridviewparametershyperlink

解决方案


您需要进行更改:

<asp:HyperLink ID="hlnkREQUEST_ID" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.REQUEST_ID") %>' NavigateUrl='<%# "~/StudentPages/viewREQUEST_ID_page.aspx?REQUEST_ID="+DataBinder.Eval(Container, "DataItem.REQUEST_ID") + "&REQUESTER="+DataBinder.Eval(Container, "DataItem.REQUESTER")%>'>

推荐阅读