私のサイトでは、モーダルポップアップdiv(id = "myModal")をデフォルトで非表示にしたマスターページを使用しています。Twitterブートストラップモーダルポップアップ(modal.js)とjQuery.load()を使用して、#myModalの本文にFeedback.aspxという別のaspxページを入力しています。
モーダルは期待どおりにポップアップし、feedback.aspxコンテンツ(doctype、HTML、headおよびbodyタグを含む完全なページです...多分そうではないはずですか?)を表示しますが、iframe内に表示されないため、ページを送信すると、PostBackが実行され、feedback.aspxページ全体で親が更新されます。
親ページ全体ではなく、モーダルポップアップ内でfeedback.aspxを単純に更新したいと思います。
フィードバック.aspxページの本文全体をUpdatePanel(ScriptManagerを使用)でラップしようとしましたが、送信ボタンをクリックすると、データがデータベースに保存され、モーダルウィンドウは開いたままになりますが、ModalAlertBoxメッセージは表示されません。表示されません。モーダルウィンドウが更新されていないと思います。
submitbutton.clickイベントにupdatepanel.update()を追加しようとしましたが、それでも機能しません。
どんな助けでも大歓迎です!ありがとう!
MasterPage:
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<div id="myModal" class="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"></div>
Feedback.aspx(#myModalコンテンツとして使用):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
...
</head>
<body>
<form ...>
<asp:ScriptManager ID="ModalScriptManager" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="ModalUpdatePanel" runat="server" UpdateMode="Always">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnModalSubmit" EventName="Click" />
</Triggers>
<ContentTemplate>
<fieldset>
...
<div id="ModalAlertBox" class="alert" runat="server" visible="false">
<button type="button" class="close" data-dismiss="alert">×</button>
<asp:Label ID="lblModalMsg" runat="server" Text=""></asp:Label>
</div>
...
</fieldset>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>
Feedback.aspx.vb
Protected Sub btnModalSubmit_Click(sender As Object, e As System.EventArgs) Handles btnModalSubmit.Click
Try
GetAccount(_Account)
If _Account.Exists Then
... Save Logic ...
lblModalMsg.Text = "Success Msg."
Else
lblModalMsg.Text = "Fail Msg."
End If
Catch ex As Exception
clsExceptionHandler.log(ex)
lblModalMsg.Text = "Unexpected Error Msg."
End Try
Me.ModalAlertBox.Visible = True
Me.ModalUpdatePanel.Update()
End Sub