定义DataGrid的超级链接列:  
HCol  =  new  HyperLinkColumn();  
HCol.HeaderText  =  "权限";  
HCol.HeaderStyle.Font.Size  =  11;  
HCol.Text  =  "查看权限";    
HCol.Target  =  "_self";  
string  NUrl  =  "javascript:var  win  =  window.open('OprRightRead.aspx?,'window','width=300,height=250,status=no,depended=yes');"  ;  
HCol.NavigateUrl  =  NUrl;  
DataGrid1.Columns.Add(HCol);    
 
怎么获得这个超级链接的点击事件,因为我想获得用户点击的当前行的行号。

解决方案 »

  1.   

    不要用hyperlinkColumn,用templateColumn,里面放一个linkbutton
    添加datagrid的itemcommand事件,通过事件参数获得行号。
      

  2.   

    <asp:TemplateColumn> <ItemTemplate> <asp:HyperLink id=Hyperlink5 runat="server" NavigateUrl='<%# "javascript:newwin(\"NewsDetail.aspx?id="+DataBinder.Eval(Container.DataItem,"ID").ToString()+"\");" %>' Text='<%# FormatString(DataBinder.Eval(Container.DataItem,"NewHead").ToString())%>'>
    </asp:HyperLink><%# DataBinder.Eval(Container.DataItem, "NewTime","{0:d}")%>
    </ItemTemplate>
    </asp:TemplateColumn>
      

  3.   

    NavigateUrl='<%# "javascript:newwin(\"NewsDetail.aspx?id="+DataBinder.Eval(Container.DataItem,"ID").ToString()+"\");" %>' Text='<%# FormatString(DataBinder.Eval(Container.DataItem,"NewHead").ToString())%>
      

  4.   

    int intRow = Convert.ToInt32 (this.dgrEquipUse.CurrentPageIndex)*this.dgrEquipUse.PageSize+Convert.ToInt32(e.Item.ItemIndex);
      

  5.   

    int intRow = Convert.ToInt32 (this.dgrEquipUse.CurrentPageIndex)*this.dgrEquipUse.PageSize+Convert.ToInt32(e.Item.ItemIndex);