Solución:
Utilizar el DataNavigateUrlFields
propiedad, valor delimitado por comas con los campos para los parámetros en "KeywordSrchSumDtl.aspx?Keyword={0}&State={1}&City={2}"
<asp:HyperLinkField DataNavigateUrlFields="Keyword,State,City"
DataNavigateUrlFormatString="KeywordSrchSumDtl.aspx?Keyword={0}&State={1}&City={2}"
Text="View Details" />
Un par de ejemplos:
Pasar dos argumentos en DataNavigateUrlFormatString en el campo de hipervínculo de .NET 2.0 Grid-View
Pasar varios valores de un GridView a otra página usando ASP.NET
EDITAR:
Colocar NavigateUrl
de HyperLink en RowDataBound
evento de GridView
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False"
DataKeyNames="Keyword"
DataSourceID="SqlDataSource1"
onrowdatabound="GridView1_RowDataBound">
<asp:TemplateField HeaderText="Keyword" ItemStyle-HorizontalAlign="Center" FooterStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:HyperLink ID="link" runat="server" Text="<%# Eval("Keyword") %>" />
</ItemTemplate>
</asp:TemplateField>
.......
</asp:GridView>
Código detrás:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
HyperLink hl = (HyperLink)e.Row.FindControl("link");
if (hl != null)
{
DataRowView drv = (DataRowView)e.Row.DataItem;
string keyword = drv["Keyword"].ToString();
string state = Request.QueryString["State"];
string city = Request.QueryString["City"];
hl.NavigateUrl = "~/KeywordSrchSumDtl.aspx?Keyword=" + keyword + "&State=" + Server.UrlEncode(state) + "&City=" + Server.UrlEncode(city);
}
}
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)