I have a panel containing a Form view nested in a gridview column, and controlled by a modal popup extender. The form view displays correctly when you select the Popup control - an image button, but when you click the 'New' link on the form view, to change mode to Insert, the panel is dismissed. I think that is normal behavior, and it can be fixed by putting the ModalPopup.Show() in the Form view Mode Changed event. But how do you get there? The ModalPopup extender is not recognized in the nested formview. Is it a matter of Stepping down through FindControl code?
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="eventlistid"><Columns><asp:CommandField ShowSelectButton="True" /><asp:TemplateField HeaderText="ID" InsertVisible="False" SortExpression="eventlistid"><EditItemTemplate><asp:Label ID="Label1" runat="server" Text='<%# Eval("eventlistid") %>'></asp:Label></EditItemTemplate><ItemTemplate><asp:Label ID="Label1" runat="server" Text='<%# Bind("eventlistid") %>'></asp:Label><br /><asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/umw/images/icons/books.png" /><%--PANEL CONTAINING FORM VIEW NESTED IN GRID VIEW--%><asp:Panel ID="Panel1" runat="server" CssClass="gridpanel"><asp:FormView ID="FormView1" runat="server" DataKeyNames="eventlistid" DataSourceID="SqlDataSource1" OnModeChanged="FormView1_ModeChanged" OnModeChanging="FormView1_ModeChanging"><InsertItemTemplate> name:<asp:TextBox ID="nameTextBox" runat="server" Text='<%# Bind("name") %>' /><br /> addressid:<asp:TextBox ID="addressidTextBox" runat="server" Text='<%# Bind("addressid") %>' /><br /><asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" Text="Insert" /> <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" /></InsertItemTemplate><ItemTemplate> name:<asp:Label ID="nameLabel" runat="server" Text='<%# Bind("name") %>' /><br /> addressid:<asp:Label ID="addressidLabel" runat="server" Text='<%# Bind("addressid") %>' /><br /><asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New" Text="New" /></ItemTemplate></asp:FormView><asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:umwConn %>" SelectCommand="fetcheventlistingdetail" SelectCommandType="StoredProcedure" InsertCommand="insertListing" InsertCommandType="StoredProcedure"><InsertParameters><asp:Parameter Name="name" Type="String" /><asp:Parameter Name="addressid" Type="Int32" /></InsertParameters><SelectParameters><asp:ControlParameter ControlID="Label1" Name="eventlistid" PropertyName="Text" Type="Int32" /></SelectParameters></asp:SqlDataSource></asp:Panel><asp:ModalPopupExtender ID="Panel1_ModalPopupExtender" runat="server" DynamicServicePath="" Enabled="True" PopupControlID="Panel1" TargetControlID="ImageButton1"></asp:ModalPopupExtender></ItemTemplate></asp:TemplateField><asp:BoundField DataField="name" HeaderText="Listing" SortExpression="name" /><asp:BoundField DataField="datestart" DataFormatString="{0:d}" HeaderText="Date" SortExpression="datestart" /><asp:BoundField DataField="dateend" DataFormatString="{0:d}" HeaderText="End Date" SortExpression="dateend" /><asp:BoundField DataField="typeid" HeaderText="typeid" SortExpression="typeid" Visible="False" /><asp:BoundField DataField="subtypeid" HeaderText="subtypeid" SortExpression="subtypeid" Visible="False" /><asp:BoundField DataField="status" HeaderText="Status" SortExpression="status" /></Columns></asp:GridView>