如何将“& Source”添加到DataNavigateUrlFormatString?

时间:2011-05-10 12:16:07

标签: c# css asp.net .net

解决方案:

<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%>的网址?

1 个答案:

答案 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
    }
}