1

jQueryダイアログ内で登録フォームを作成しようとしていますが、テキストボックスから情報を転送するはずのボタンは情報を送信しません。つまり、作成したc#関数は空白のデータを受信します。私たちが持っているコードは次のとおりです。

これは情報を送信するボタンです(送信ボタンはjQueryダイアログdivの外にあり、非表示になっています。ショートカットとして別のjs生成ボタンを使用します):

<asp:Button ID="btntwo" runat="server" style="display:none"  Text="" OnClick="registerSubmit_Click" />

これは、jQueryダイアログを作成するコードです(aspボタンのクリックをシミュレートするjavascript関数があります)。

$('#Register').dialog(dialogOpts);
$.fx.speeds._default = 500;
$(function () {
    $("#Register").dialog({
        autoOpen: false,
        buttons: {
            Ok: function () {
                $("[id*=btntwo]").click();
                $('form').append('#Register');
            }
        },
        show: "blind",
        hide: "explode"
    });

これは、jQueryダイアログにある入力フィールドに使用するコードです。

<asp:TextBox ID="username_textbox" runat="server" />

これはc#関数であり、入力フィールドからデータを取得し、その後このデータを使用します。

string username = username_textbox.Text;

問題は次のとおりです。期待される結果は、ユーザー名変数はユーザーが入力したものになりますが、代わりにこの変数は空白のデータ""のみを受け取ります。

4

2 に答える 2

4

jQueryダイアログはHTMLの一部を取得し、それをダイアログコンテナーにラップして、body要素に追加すると思います。つまり、入力要素はフォームに存在しなくなったため、転送されません。送信されたフォームの入力要素のみが返送されます。サーバーにとって、フォーム外の他の入力要素(他のフォームを含む)はそうではありません。

于 2012-11-19T21:40:26.983 に答える
1

問題の解決策は 次のとおりです。値をPOSTしないjQueryダイアログフォームの送信

于 2012-11-20T09:44:03.600 に答える