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

.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>

posted @ 2006-02-10 16:43  Benny Ng  阅读(485)  评论(0编辑  收藏  举报