将Query String参数传递给DataNavigateUrl格式字符串

时间:2013-04-26 22:55:29

标签: c# asp.net

我正在尝试更改现有搜索页面,以允许用户根据查询字符串查找可比较的记录。我先让他们选择一个父级,然后使用添加的参数重新加载相同的现有搜索页面到URL“PID”。当我再次运行搜索时使用此功能,我希望能够选择子记录ID,然后转到新页面进行比较。但是我无法从datanavigateUrlFormatString中的查询字符串中获取oringal PID

<asp:HyperLinkField DataNavigateUrlFields="ID, " 
                DataNavigateUrlFormatString="~\Contributor\Search.aspx?LinkWizard=true&amp;CID={0}&amp;PID=" HeaderText="Select Child" 
                Text="Set Child" />

基本上我需要从查询字符串中取出PID。这是怎么做的,似乎应该很简单,但我找不到对我有用的东西。感谢。

1 个答案:

答案 0 :(得分:1)

我不确定您使用HyperLinkField的位置,但是您可以将其更改为TemplateField并使用Eval吗?像这样:

    <asp:TemplateField HeaderText="Select Child">
            <ItemTemplate>
                <asp:HyperLink runat="server" NavigateUrl='<%#Eval("ID",  "~/Contributor/Search.aspx?LinkWizard=true&CID={0}&PID=") + Request.QueryString["PID"]%>' Text="Set Child" />
            </ItemTemplate>
    </asp:TemplateField>