您的位置:首页 > 其它

DataGrid中多个参数的超链接列

2008-11-05 13:50 381 查看
.net 自带的DataGrid 超链接列只能指定一个动态参数, 可以通过以下方式来改进:

第一种:后台再绑定:

private void mygrid_ItemDataBound(object sender, DataGridItemEventArgs e)

{

if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)

{

HyperLink link = (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:TemplateColumn HeaderText="test">

<ItemTemplate>

<asp:HyperLink runat="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>


<asp:TemplateColumn>

<ItemTemplate>

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#String.Format("show.aspx?str={0}&mat={1}",DataBinder.Eval(Container.DataItem,"supplier_id"),DataBinder.Eval(Container.DataItem,"material_po")) %>'>打开</asp:HyperLink>

</ItemTemplate>

</asp:TemplateColumn>

转自:http://blog.csdn.net/downmoon/archive/2005/07/11/420941.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: