解决方案:
<asp:TemplateField SortExpression="Exp" HeaderText="text">
<ItemTemplate>
<asp:HyperLink runat="server" Text='<%# Eval("Name") %>' NavigateUrl='<%# string.Format("~/SubSite/Default.aspx?reg={0}&Source={1}", Eval("Id"), Request.Url) %>' />
</ItemTemplate>
</asp:TemplateField>
而不是:
<asp:HyperLinkField DataTextField="Name" DataNavigateUrlFields="Id"
DataNavigateUrlFormatString="~\SubSite\Default.aspx?reg={0}"
HeaderText="text" SortExpression="Exp" />
问候
我有一个包含一些HyperLinkField的GridView。我要做的是在点击其中一个超链接时在DataNavigateUrlFormatString
中添加“&amp; Source”查询。
当我这样做时:DataNavigateUrlFormatString="~\SubSite\Default.aspx?Query={0}&Source=<% Request.Url.AbsolutePath%>"
我得到的网址是:http://www.website.com/SubSite/Default.aspx?Query=702&Source=<%Request.Url.AbsolutePath%>
如何确保写入我尝试通过<% Request.Url.AbsolutePath%>
的网址?
答案 0 :(得分:1)
试试这个:
DataNavigateUrlFormatString="~\SubSite\Default.aspx?Query={0}&Source=" +Request.Url.AbsolutePath
或者这个:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// Find the control and set the values you need
}
}