我想从页面后面的 Asp.net 代码中用 javascript 引发一个事件;每当检查复选框控件时。我可以使用__dopostback
javascript 在后面的代码中引发事件,但我无法将变量作为参数传递。
这是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() 方法,没有声明确切的值。
有没有办法传递变量字符串?