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();
}