Hi. I am trying to have a GridView that when the Edit LinkButton is clicked will load a DetailsView in a ModalPopup. The selected GridView row should then be able to be edited and saved in the popup. I've seen many articles on how to do this, but I just can't seem to get it to work. My code is below if anyone can tell me what I'm doing wrong?
This is my source:
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"><ContentTemplate><asp:GridView ID="gdvMembers" runat="server" AutoGenerateColumns="False" DataKeyNames="intMemberID" DataSourceID="EntityDataSource1" OnSelectedIndexChanged="gvMembers_SelectedIndexChanged"><Columns><asp:CommandField ShowDeleteButton="True" /><asp:TemplateField><ItemTemplate><asp:LinkButton ID="btnViewDetails" runat="server" Text="Edit" CommandName="Select"></asp:LinkButton></ItemTemplate></asp:TemplateField><asp:BoundField DataField="intMemberID" HeaderText="intMemberID" ReadOnly="True" SortExpression="intMemberID" /><asp:BoundField DataField="vcharTitle" HeaderText="Title" SortExpression="vcharTitle" /><asp:BoundField DataField="vcharFirstName" HeaderText="First Name" SortExpression="vcharFirstName" /><asp:BoundField DataField="vcharLastName" HeaderText="Last Name" SortExpression="vcharLastName" /><asp:BoundField DataField="vcharSuffix" HeaderText="Suffix" SortExpression="vcharSuffix" /><asp:BoundField DataField="vcharJobTitle" HeaderText="Job Title" SortExpression="vcharJobTitle" /><asp:BoundField DataField="vcharAddress1" HeaderText="Address1" SortExpression="vcharAddress1" /><asp:BoundField DataField="vcharAddress2" HeaderText="Address2" SortExpression="vcharAddress2" /><asp:BoundField DataField="vcharCity" HeaderText="City" SortExpression="vcharCity" /><asp:BoundField DataField="vcharState" HeaderText="State" SortExpression="vcharState" /><asp:BoundField DataField="vcharZipCode" HeaderText="Zip Code" SortExpression="vcharZipCode" /><asp:BoundField DataField="vcharPhone" HeaderText="Phone" SortExpression="vcharPhone" /><asp:BoundField DataField="vcharFax" HeaderText="Fax" SortExpression="vcharFax" /><asp:CheckBoxField DataField="bitActive" HeaderText="Active" SortExpression="bitActive" /></Columns></asp:GridView></ContentTemplate></asp:UpdatePanel></p><p><asp:EntityDataSource ID="EntityDataSource1" runat="server" ConnectionString="name=DoseRec_ABTEntities" DefaultContainerName="DoseRec_ABTEntities" EnableFlattening="False" EntitySetName="tbl_Members" EnableDelete="True" EnableUpdate="True"></asp:EntityDataSource></p><p> <asp:Panel ID="pnlPopup" runat="server" style="display:none"><asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional"><ContentTemplate><ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="btnShowPopup" CancelControlID="btnClose" PopupControlID="pnlPopup" OkControlID="btnSave" X="20" Y="100"></ajaxToolkit:ModalPopupExtender><asp:Button ID="btnShowPopup" runat="server" Text="Button" Visible="false" /><asp:DetailsView ID="dvMembers" runat="server" AutoGenerateRows="False" DataSourceID="EntityDataSource2"><Fields><asp:BoundField DataField="intMemberID" HeaderText="intMemberID" ReadOnly="True" SortExpression="intMemberID" /><asp:BoundField DataField="vcharTitle" HeaderText="vcharTitle" ReadOnly="True" SortExpression="vcharTitle" /><asp:BoundField DataField="vcharFirstName" HeaderText="vcharFirstName" ReadOnly="True" SortExpression="vcharFirstName" /><asp:BoundField DataField="vcharLastName" HeaderText="vcharLastName" ReadOnly="True" SortExpression="vcharLastName" /><asp:BoundField DataField="vcharSuffix" HeaderText="vcharSuffix" ReadOnly="True" SortExpression="vcharSuffix" /><asp:BoundField DataField="vcharJobTitle" HeaderText="vcharJobTitle" ReadOnly="True" SortExpression="vcharJobTitle" /><asp:BoundField DataField="vcharAddress1" HeaderText="vcharAddress1" ReadOnly="True" SortExpression="vcharAddress1" /><asp:BoundField DataField="vcharAddress2" HeaderText="vcharAddress2" ReadOnly="True" SortExpression="vcharAddress2" /><asp:BoundField DataField="vcharCity" HeaderText="vcharCity" ReadOnly="True" SortExpression="vcharCity" /><asp:BoundField DataField="vcharState" HeaderText="vcharState" ReadOnly="True" SortExpression="vcharState" /><asp:BoundField DataField="vcharZipCode" HeaderText="vcharZipCode" ReadOnly="True" SortExpression="vcharZipCode" /><asp:BoundField DataField="vcharPhone" HeaderText="vcharPhone" ReadOnly="True" SortExpression="vcharPhone" /><asp:BoundField DataField="vcharFax" HeaderText="vcharFax" ReadOnly="True" SortExpression="vcharFax" /><asp:CheckBoxField DataField="bitActive" HeaderText="bitActive" ReadOnly="True" SortExpression="bitActive" /></Fields></asp:DetailsView><asp:EntityDataSource ID="EntityDataSource2" runat="server" ConnectionString="name=DoseRec_ABTEntities" DefaultContainerName="DoseRec_ABTEntities" EnableFlattening="False" EntitySetName="tbl_Members" Select="it.[intMemberID], it.[vcharTitle], it.[vcharFirstName], it.[vcharLastName], it.[vcharSuffix], it.[vcharJobTitle], it.[vcharAddress1], it.[vcharAddress2], it.[vcharCity], it.[vcharState], it.[vcharZipCode], it.[vcharPhone], it.[vcharFax], it.[bitActive]"></asp:EntityDataSource><asp:Button ID="btnSaVe" runat="server" Text="Save" onmouseover="MouseHover();"/><asp:LinkButton ID="btnClose" runat="server" CssClass="close"/></ContentTemplate></asp:UpdatePanel></asp:Panel></p>
This is my code behind:
protected void gvMembers_SelectedIndexChanged(object sender, EventArgs e) { this.dvMembers.Visible = true; this.dvMembers.DataBind(); this.UpdatePanel2.Update(); this.ModalPopupExtender1.Show(); } protected void btnViewDetails_Click(object sender, EventArgs e) { LinkButton btnMember = sender as LinkButton; GridViewRow row = (GridViewRow)btnMember.NamingContainer; this.EntityDataSource2.SelectParameters.Clear(); this.dvMembers.DataBind(); this.UpdatePanel2.Update(); this.ModalPopupExtender1.Show(); }