将查询字符串参数传递给DataNavigateUrl格式字符串

本文关键字:字符串 DataNavigateUrl 格式 参数传递 查询 | 更新日期: 2023-09-27 18:11:09

我试图改变现有的搜索页面,也允许用户查找基于查询字符串的可比记录。我首先让他们选择一个父级,然后重新加载相同的现有搜索页面,添加一个参数到URL"PID"。当我再次运行搜索时,我希望能够选择一个子记录ID,然后转到一个新页面进行比较。然而,我无法从datanavigateUrlFormatString

中的查询字符串中获得原始PID
<asp:HyperLinkField DataNavigateUrlFields="ID, " 
                DataNavigateUrlFormatString="~'Contributor'Search.aspx?LinkWizard=true&amp;CID={0}&amp;PID=" HeaderText="Select Child" 
                Text="Set Child" />

本质上我需要从查询字符串中提取PID。如何做到这一点,它似乎应该是简单的,但我找不到任何适合我。谢谢。

将查询字符串参数传递给DataNavigateUrl格式字符串

我不确定你在哪里使用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>