动态指定DataGrid中多个参数的超链接列(downmoon)

.net 自带的DataGrid 超链接列只能指定一个动态参数, 可以通过以下方式来改进:
第一种:后台再绑定:

private void mygrid_ItemDataBound( object sender,DataGridItemEventArgse)
... {
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
... {
HyperLinklink
= (HyperLink)e.Item.Cells[ 0 ].Controls[ 0 ];

string url = link.NavigateUrl;
url
+= " ?id= " + e.Item.Cells[ 1 ].Text + " &id2= " + e.Item.Cells[ 2 ].Text;
link.NavigateUrl
= url;
}

}

第二种:前台增加模板列:

< asp:TemplateColumnHeaderText = " test " >
< ItemTemplate >
< asp:HyperLinkrunat = " server " Text = ' <%#DataBinder.Eval(Container,"DataItem.productID")%> ' NavigateUrl = ' <%#DataBinder.Eval(Container,"DataItem.productName","detailspage.aspx?id={0}&id2="+DataBinder.Eval(Container,"DataItem.productID"))%> ' >
</ asp:HyperLink >
</ ItemTemplate >

你可能感兴趣的:(datagrid)