2016-06-15 21 views
0

Ich habe eine Gridview, in der ID-Spalte gibt es .. jetzt, wenn ich auf die Spalte klicken dann möchte ich in Etikett, das ID anzuzeigenID von gridview in Etikett

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 

     ID = e.Row.Cells[0].Text; 

     Label1.Text = "<b>Publisher Name &nbsp;:&nbsp;&nbsp; " + ID + "</b>"; 

    } 

wenn i ID-Label-Anzeige klicken Sie auf publisher name aber ich möchte von Rasteransicht

ID anzuzeigen, WIE iCH TUN

+0

Wollen Sie es auf 'click' Ereignis oder auf' RowDataBound' Ereignis – Chaitanya

+0

auf Klick .. wenn ich klicken auf Gridview Reihe –

+0

So haben Sie das 'click' Ereignis in Ihrem Code – Chaitanya

Antwort

1

Sie verwenden die falsche event.You sollte Zeilenauswahl in Ihrem GridView durch AutoGenerateSelectButton="True" und behandeln die OnSelectedIndexChanged Ereignis ermöglichen

-Code hinter:

public partial class GridViewSelectionExample : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if(!Page.IsPostBack) 
     { 
      this.Bind(); 
     } 
    } 

    private void Bind() 
    { 
     User user1 = new User { ID = 1, Name = "User 1" }; 
     User user2 = new User { ID = 2, Name = "User 2" }; 
     User user3 = new User { ID = 3, Name = "User 3" }; 

     GridView1.DataSource = new List<User> { user1, user2, user3 }; 
     GridView1.DataBind(); 
    } 

    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     string id = GridView1.SelectedRow.Cells[1].Text; 
     lblCurrentID.Text = String.Format("The selected id is - {0}", id); 
    } 
} 

.ASPX:

<asp:GridView 
    ID="GridView1" 
    runat="server" 
    AutoGenerateColumns="false" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" AutoGenerateSelectButton="True"> 
    <Columns> 
     <asp:BoundField DataField="ID" /> 
     <asp:BoundField DataField="Name" /> 
    </Columns> 
</asp:GridView> 
<asp:Label ID="lblCurrentID" runat="server"></asp:Label>