2011-06-07 37 views
3
 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
     BackColor="White" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" 
     CellPadding="4"> 
    <Columns> 
    <asp:BoundField DataField="FileID" HeaderText="FileID" /> 
    <asp:BoundField DataField="FilePath" HeaderText="FilePath" /> 
    <asp:BoundField DataField="UploadedBy" HeaderText="CreatedBy" /> 
    <asp:BoundField DataField="CreatedDate" HeaderText="CreatedDate" /> 


     <asp:HyperLinkField HeaderText="LINK" NavigateUrl="show.aspx" Text="SHOW" /> 


    </Columns> 



     conn.Open(); 
      SqlDataReader rdr = comm.ExecuteReader(); 
      if (NAME.Equals("admin")) 
      { 
       GridView1.DataSource = rdr; 
       GridView1.DataBind(); 
      } 
      else 
      { 
       GridView2.DataSource = rdr; 
       GridView2.DataBind(); 
      } 
      rdr.Close(); 

我想使用在GridView的超級鏈接動態地根據該行是clicked.As我是新的傳遞值這我不能做到這一點。請任何人幫助我。動態參數通過超級鏈接傳遞在數據網格中asp.net(C#)

回答

1

加網格中的onRowCommand事件

OnRowCommand="OnRowCommand_GridView1" 

然後定義鏈接按鈕,用的CommandName和CommandArgument

 <asp:LinkButton ID="lnk1" runat="server" Text="DoClick" CommandName="Select" CommandArgument='<%#Eval("FileID") %>'></asp:LinkButton> 

,比上後面的代碼

protected void GridView1_OnRowCommand(object sender, GridViewCommandEventArgs e) 
    { 

     if (e.CommandName == "Select") 
     { 
      int MyFileID = e.CommandArgument; 
     //Now Perfrom here ur desired action 
     } 

希望這會幫助你。

2

設置hyperlink NavigateUrl財產像... NavigateUrl='<%# Eval("FileID", "show.aspx?ID={0}" %>'

NavigateUrl='<%# Eval("FileID", "show.aspx?ID={0}") + "&FilePath=" + Eval("FilePath") %>' 
+0

如何傳遞多個值? – Naresh 2011-06-07 11:41:46

+0

更新答案,支持多值傳遞。現在嘗試.. – 2011-06-07 11:46:25

+0

它給出錯誤說「數據綁定表達式只支持具有DataBinding事件的對象,System.Web.UI.WebControls.HyperLinkField沒有DataBinding事件。」 – Naresh 2011-06-07 12:22:50

相關問題