-1

クリックするとc#関数「send_Click」を呼び出すリンクボタンがあります。ここに関数があります:

void send_Click(object sender, EventArgs e)
    {        
        Page.ClientScript.RegisterStartupScript(this.GetType(), "Call my function", "text_alert()", true);
        Response.Write(hidAcrobat.Value);
    }

ご覧のとおり、次のような javascript 関数 "text_alert()" を呼び出します。

function text_alert() {
            var person = prompt("Additional Comments:", "");
            if (person != null && person != "") {
                document.getElementById('hidAcrobat').value = person;
            }
        }

ユーザー入力を受け入れ、非表示フィールド「hidAcrobat」の値をこの値に設定するプロンプト ボックスをポップします。

次に c# に戻ります。次の行は Response.write(hidAcrobat.Value); です。プロンプト ボックスに割り当てられた新しい値ではなく、hidAcrobat の既定値を書き込みます。ページがポストバックされていないためだと思いますが、どうすれば解決できますか?

4

3 に答える 3

1

これはJqueryで簡単に実装できます

<script type="text/javascript" language="javascript">

    $(document).ready(function() {

        $('#MainContent_lnkAddToList').live("click", function() {
            var person = prompt("Additional Comments:", "");
            $('[id*="hidAcrobat"]').val(person);
        });
    });

その後、任意のサーバー側イベントで隠しフィールド値を使用できます。

Jquery の場合は参照を追加します

それがあなたを助けることを願っています。

于 2013-05-06T07:20:15.957 に答える
0

ModalPopUpを使用して効果のようなプロンプトを簡単に作成し、サーバー側で値を簡単に取得できます。

于 2013-05-05T19:54:24.013 に答える