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() メソッドを信じていますが、正確な値は宣言されていません。
変数文字列を渡す方法はありますか?