Click here to Skip to main content
15,885,875 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
HTML
<div>
        <asp:HiddenField ID="hdnfCreatedBy" runat="server" />
        <asp:ImageButton ID="imgBtn" ImageUrl="~/Images/edit1.jpg" runat="server" Width="25" Height="25" onclick="imgBtn_Click" />
        <asp:GridView ID="gvDetails" runat="server" AutoGenerateColumns="false" Width="600px">
            <columns>
                <asp:TemplateField HeaderText="Sr. No.">
                    <itemtemplate>
                        <%#Container.DataItemIndex+1 %>
                    </itemtemplate>
                
                <asp:TemplateField HeaderText="ID">
                    <itemtemplate>
                        <asp:Label ID="lblID" runat="server" Text='<%#Eval("ID") %>'>
                    </itemtemplate>
                    <HeaderStyle CssClass="hideCol" />
                    <itemstyle cssclass="hideCol" />
                
                <asp:TemplateField HeaderText="Name">
                    <itemtemplate>
                        <asp:Label ID="lblName" runat="server" Text='<%#Eval("Name") %>'>
                    </itemtemplate>
                
                <asp:TemplateField HeaderText="Date Of Birth">
                    <itemtemplate>
                        <asp:Label ID="lblDOB" runat="server" Text='<%#Eval("DOB") %>'>
                    </itemtemplate>
                
                <asp:TemplateField HeaderText="Age">
                    <itemtemplate>
                        <asp:Label ID="lblAge" runat="server" Text='<%#Eval("Age") %>'>
                    </itemtemplate>
                
                <asp:TemplateField HeaderText="Gender">
                    <itemtemplate>
                        <asp:Label ID="lblGender" runat="server" Text='<%#Eval("Gender") %>'>
                    </itemtemplate>
                
                <asp:TemplateField HeaderText="View">
                    <itemtemplate>
                        <a href="viewDetails.aspx?ID=<%#Eval(" id=") %>">
                            <img src="../../images/view1.jpg" alt="view" title="View" style="border: none" width="35px"
                                height="25px" />
                        </a>
                        <asp:HyperLink ID="hplnkBtnViewDetails" runat="server" Target="_parent" NavigateUrl='<%#"viewDetails.aspx?ID=" + Eval("ID") %>'>
                                            <%--<asp:HyperLink ID="HyperLink1" runat="server" Text="View" Target="_blank" NavigateUrl='<%# "AllotmentGroupAView.aspx?App_Id=" + Eval("ApplicationId")%>'>
                                            --%>
                                            <img src="../../images/view1.jpg" alt="view" title="View" style="border: none" width="35px"
                                                height="25px" />
                        
                        <asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="hplnkBtnViewDetails"
                            PopupControlID="pnlViewDetails" DropShadow="true" OkControlID="btnUpdate">
                        
                    </itemtemplate>
                
                <asp:TemplateField HeaderText="Update">
                    <itemtemplate>
                        <asp:ImageButton ID="imgBtnUpdate" runat="server" ImageUrl="~/Images/edit1.jpg" Width="30px"
                            Height="25px" />
                    </itemtemplate>
                
            </columns>
            <HeaderStyle CssClass="gvHeader" />
            <rowstyle cssclass="gvRow" />
            <alternatingrowstyle cssclass="gvAltRow" />
        
        <asp:Label ID="lblresult" runat="server" />
        <asp:Button ID="btnShowPopup" runat="server" Style="display: none" />
        <asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="btnShowPopup"
            PopupControlID="pnlpopup" CancelControlID="btnCancel">
        
        <asp:Panel ID="pnlpopup" runat="server" BackColor="White" Height="269px" Width="400px"
            Style="display: none">
            <table width="100%" style="border: Solid 3px #D55500; width: 100%; height: 100%">
                cellpadding="0" cellspacing="0">
                <tr style="background-color: #D55500">
                    <td colspan="2" style="height: 10%; color: White; font-weight: bold; font-size: larger">
                        align="center">
                        User Details
                    </td>
                </tr>
                <tr>
                    <td align="right">
                        ID :
                    </td>
                    <td>
                        <asp:Label ID="lblID" runat="server">
                    </td>
                </tr>
                <tr>
                    <td align="right">
                        Name :
                    </td>
                    <td>
                        <asp:TextBox ID="txtName" runat="server">
                    </td>
                </tr>
                <tr>
                    <td align="right">
                        BOB :
                    </td>
                    <td>
                        <asp:TextBox ID="txtDOB" runat="server" />
                    </td>
                </tr>
                <tr>
                    <td align="right">
                        Age :
                    </td>
                    <td>
                        <asp:TextBox ID="txtAge" runat="server" />
                    </td>
                </tr>
                <tr>
                    <td align="right">
                        Gender :
                    </td>
                    <td>
                        <asp:DropdownList ID="ddlGender" runat="server" >
                        <asp:ListItem Value="0" Text="<<--  Select  Gender  -->>">
                        <asp:ListItem Value="1" Text="Female">
                        <asp:ListItem Value="2" Text="Male">
                        
                    </td>
                </tr>
                <tr>
                    <td>
                    </td>
                    <td>
                        <asp:Button ID="btnUpdate" CommandName="Update" runat="server" Text="Update" OnClick="btnUpdate_Click"/>
                        <asp:Button ID="btnCancel" runat="server" Text="Cancel" />
                    </td>
                </tr>
            </table>
        
    </div>

C#
#region imgBtn_Click
protected void imgBtn_Click(object sender, ImageClickEventArgs e)
{
   try
   {
      ImageButton btnDetails = sender as ImageButton;
      GridViewRow gvRow = (GridViewRow)btnDetails.NamingContainer;
      int sn = Convert.ToInt32(((TextBox)gvDetails.Rows[gvRow.RowIndex].Cells[0].Controls[0]).Text);
      lblID.Text = gvDetails.DataKeys[gvRow.RowIndex].Value.ToString();
      txtName.Text = gvRow.Cells[1].Text;
      txtDOB.Text = gvRow.Cells[2].Text;
      txtAge.Text = gvRow.Cells[3].Text;
      ddlGender.SelectedItem.Text = gvRow.Cells[4].Text;
      this.ModalPopupExtender1.Show();
   }
   catch (Exception ex)
   {
      throw ex;
   }
}
#endregion
Posted
Updated 12-May-14 0:59am
v3

1 solution

your imgBtn is not inside the GridView, when you call btnDetails.NamingContainer it will give ContentPlaceHolder object that is where your imgBtn placed in the page. you will get exception when you cast ContentPlaceHolder to GridViewRow

try with SelectedIndex like below to get the selected row.
C#
GridViewRow row = gvDetails.Rows[gvDetails.SelectedIndex];
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900