-1

Asp.net コードビハインド ページから JavaScript でイベントを発生させたいと思います。チェックボックスコントロールがチェックされているときはいつでも。javascriptを使用__dopostbackしてコード ビハインドでイベントを発生させることはできますが、変数を引数として渡すことはできません。

これはJavaScriptコードです:

function CallServerCkhkBox(chkvalue) {
    alert("_dopostback " + chkvalue);
    __doPostBack('btnRefresh', chkvalue);
    //__doPostBack('btnRefresh', 'Blue Green');
}

アラートは、変数 chkvalue の正しい値を出力します。

これは C# コード ビハインドです。

protected void btnRefresh_Click(object sender, EventArgs e)
{
    string checkboxes;
    if (Request["__EVENTARGUMENT"] != "")
    {
        checkboxes = "From Javascript " + Request["__EVENTARGUMENT"];
    }
    else
    {
        checkboxes = "From Click " + hdnChkbval.Value;
    }           
    lblCheckBoxes.Text = checkboxes;
}
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
    ClientScript.RegisterForEventValidation("btnRefresh", "Blue Green");
    base.Render(writer);
}

引数を渡すと固定文字列が__dopostback機能しますが、それ以外の場合はエラーが返されます。

ポストバックまたはコールバック引数が無効です。

私は RegisterForEventValidation() メソッドを信じていますが、正確な値は宣言されていません。

変数文字列を渡す方法はありますか?

4

1 に答える 1

0

これを試して:

function CallServerCkhkBox(chkvalue) {
    alert("_dopostback " + chkvalue);
    __doPostBack('btnRefresh', chkvalue.toString());
}
于 2013-04-30T13:04:25.367 に答える