6

jQuery UIダイアログでASP.NET送信ボタンのポストバックを作成するにはどうすればよいですか?

実際、私はAjaxコントロールツールキットのモーダルで行ったようなUIダイアログモーダルを使用して、グリッドビューコントロールに格納されているデータの値を更新しています。私はすべてのことを行うことができますが、UIモーダルでポストバックをトリガーすることはできません。私はjQueryとそのUIに少し慣れていないので、そのための適切なソリューションを見つけることができません。

Ajaxツールキットのモーダルでは、誰かが送信ボタンをクリックしたときにポストバックを有効にするようにトリガープロパティを設定していましたが、ここでは不可能のようです。以下は私のコードです:

//------------Modal first----------------
<div id="editEventModal" title="Edit Event Details" style="display:none">
//-------Here are my controls with asp.net validators
 <asp:Button ID="btnEditEvent" runat="server" Text="Save" ValidationGroup="EditEvent"  />
</div>

//--------- JavaScript/jQuery method for calling popup
function invokeEditPopup(){
    $("#editEventModal").dialog({
        width: 700,
        modal: true
    });
}
//-- Please not that I have not used UI_Dialog's predefined `OK`, `Cancel` buttons as I need to validate my form with asp.net validators on submit button's `click` event.

invokeEditPopup()グリッドビューでは、イベントのボタン(ダイアログをポップアップするために使用されます)にjavascriptイベントを追加しましたGridView_DataBound

btnEditEventサーバー上で必要なプロセスを実行するために、ポストバックを作成するためのダイアログを作成するにはどうすればよいですか。

-----------------------詳細について------------------ jQueryのアイデアを使用してみましたASP.NETボタンのポストバックを使用したUIダイアログ

そして、JavaScriptでダイアログを定義する直後に、(もちろん個別に)使用してみました。

$("#editEventModal").parent().appendTo($("form"));

//--------And---------------
$(".ui-dialog").parent().appendTo($("form"));

//--------And---------------
$("#editEventModal").parent().prependTo($("form"));

//--------And---------------
$(".ui-dialog").parent().prependTo($("form"));

しかし、それは正しく機能しませんでした。

4

2 に答える 2

10

最後に、私は答えを得ました:スタックオーバーフローの質問ASP.NETボタンクリックイベントが発生していません。PirateKittenに感謝します。

JavaScriptでのダイアログ作成のすぐ下に以下を追加するだけで、魅力のように機能しました。

$("#editEventModal").parent().appendTo(jQuery("form:first"));
于 2012-12-19T12:01:08.217 に答える
4

また、cssの変更を追加して、ダイアログがオーバーレイdivの背後に留まらないようにすることもできます。

$("#editEventModal").parent().appendTo(jQuery("form:first")).css({"z-index":"101"});
于 2013-11-23T15:46:47.140 に答える