Detailsview inside ModalPopup

G

gsauns

I have a DetailsView inside a ModalPopup (using the AJAX
ModalPopupExtender).

I would like the user to have the ability to change the DetailsView's
mode within the ModalPopup.
But whenever I click the button to change the mode, the ModalPopup
closes itself. The NEXT time I open the ModalPopup, the mode has been
changed. So the mode is changing... my problem is that I need the
ModalPopup to stay visible.
Also, the DetailsView is inside an UpdatePanel within the Panel I am
popping up. The ModalPopupExtender's OKControlID and CancelControlID
are not within this UpdatePanel (but are inside the Panel).

I have downloaded an example that suggests that what I am trying to do
should work... am I misunderstanding something?

Code:

Target control:

<asp:LinkButton ID="lbtn" runat="server" Text="Modal"></
asp:LinkButton>
<cc1:ModalPopupExtender ID="modal" runat="server"
TargetControlID="lbtn" PopupControlID="pnl" DropShadow="true"
Drag="true" CancelControlID="btnCancel" OkControlID="btnOk"
BackgroundCssClass="modalBackground">
</cc1:ModalPopupExtender>

Panel:

<asp:panel ID="pnl" runat="server" Height="400px" Width="900px"
BackColor="Khaki">
<asp:UpdatePanel ID="UpdatePanel9" runat="server">
<ContentTemplate>
<asp:DetailsView ID="dv" runat="server" Width="100%" DataKeyNames="ID"
DataSourceID="ds" DefaultMode="ReadOnly" AutoGenerateRows="false">
<Fields>
....
</Fields>
<FooterTemplate>
// Buttons that change the mode
</FooterTemplate>
</asp:DetailsView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Button ID="btnOk" runat="server" Text="OK" />
<asp:Button ID="btnCancel" runat="server" Text="Cancel" />
</asp:panel>
<
 
M

Mike Placentra II

...whenever I click the button to change the mode, the ModalPopup
closes itself. The NEXT time I open the ModalPopup, the mode has been
changed. So the mode is changing... my problem is that I need the
ModalPopup to stay visible.

I've had this problem before. You need to reopen the modal popup on
the server side in the DetailView's ItemUpdating event:

Protected Sub gsaunsdv_ItemUpdating(ByVal sender As Object, _
ByVal e As System.Web.UI.WebControls.DetailsViewUpdateEventArgs) _
Handles <DETAILSVIEW-ID>.ItemUpdating
<MODAL-ID>.Show()
End Sub

You may want to do that in other events too (such as ItemInserting).
Also, the DetailsView is inside an UpdatePanel within the Panel I am
popping up. The ModalPopupExtender's OKControlID and CancelControlID
are not within this UpdatePanel (but are inside the Panel).

I would just put all of that in the UpdatePanel to avoid problems.

-Michael Placentra II
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,479
Members
44,900
Latest member
Nell636132

Latest Threads

Top