現在の問題があります。前にコンテキストを説明しましょう:
フォームを含むモーダル ポップアップ エクステンダーがあります。「保存して新規追加」機能があり、ユーザーがこのボタンをクリックすると、ポストバック中にフォームのデータがデータベースに保存され、ページがリロードされます。
このモーダル ポップアップを page_load に再度表示して、ユーザーがこのモーダル ポップアップを表示するボタンを再度クリックせずに新しいデータを入力できるようにします。
私は最初にこの方法でそれを呼び出そうとしました:
ClientScript.RegisterStartupScript(Page.GetType(), "ModalPopup", "ShowModalPopup(""" & Me.formModalButton.ID & """);", True)
しかし、問題は、関数が呼び出されたときにモーダルポップアップがページにまだ存在していなかったことです。そのため、コードは
var modal = $find('myModal');
それで、私はその別の方法を見つけました、そしてそれはほぼ完全に機能しています。
ClientScript.RegisterStartupScript(Page.GetType(), "ModalPopup", "Sys.Application.add_load(function() {ShowModalPopup(""" & Me.formModalButton.ID & """)};", True)
モーダルはページの読み込み時に表示されますが、問題は、ページ上の他のボタンをクリックすると、モーダル ポップアップも再び表示されることです。
例: データを削除するための別のモーダル ポップアップがあります。ボタンをクリックすると、両方のモーダルが表示されますが、これはクールではありません。
それを修正する方法、またはそれを行うためのより良い方法について手がかりを持っている人はいますか?
PS javascript関数がページに存在するため、モーダルポップアップサーバー側を呼び出していないため、RegisterStartupScriptでこの関数のコピーを作成したくありません。
お時間いただきありがとうございます。