Javascript __dopostback():参数传递错误“无效的回发或回调参数”

时间:2013-04-30 06:52:28

标签: javascript asp.net

我想在页面的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()方法,不会声明确切的值。

有没有办法传递变量字符串?

1 个答案:

答案 0 :(得分:0)

试试这个:

function CallServerCkhkBox(chkvalue) {
    alert("_dopostback " + chkvalue);
    __doPostBack('btnRefresh', chkvalue.toString());
}