Asp.net Web窗体错误:无效的回发或回调参数

时间:2014-03-26 11:53:12

标签: jquery asp.net callback postback

<script type="text/javascript">
    var s = false;
    $(document).ready(function () {
        $("#btnSaveEducation").click(function () {
            s = true;
        });

        window.onload = function () {

            if (s == false) {
                var select = document.getElementById("year");
                for (var i = 2011; i >= 1900; --i) {
                    var option = document.createElement('option');
                    option.text = option.value = i;
                    select.add(option, 0);
                }
            }
        };
    });
</script>

....
...
<body>
 <asp:DropDownList ID="year" runat="server" name="year">
                        </asp:DropDownList>
</body>
....
..

您好。 在Asp.Net Web From中, 我在error

时得到此click btnSaveEducation
[Invalid postback or callback argument.  Event validation is enabled using 
<pages enableEventValidation="true"/> in configuration or 
<%@ Page EnableEventValidation="true" %> in a page.  
 For security purposes, this feature verifies that arguments to postback 
 or callback events originate from the server control that originally 
 rendered them.  If the data is valid and expected, use the
 ClientScriptManager.RegisterForEventValidation method in order to 
 register the postback or callback data for validation.]

为什么? 感谢。

2 个答案:

答案 0 :(得分:2)

Dy默认你不能在jquery或java-script的下拉列表中添加选项。

因为Asp.net在回发后检查每个控件。

您可以更改页面指令,如下所示

<%@ Page ... EnableEventValidation="false" %>

这将导致服务器端无法验证,这不是好事。

如果您想要实现上述目标,可以使用html drop向下并使用hidden field并从hidden field获取所选值而不是下拉它将起作用。

关于SO的类似问题

  1. asp.net: Invalid postback or callback argument

答案 1 :(得分:0)

只需将此代码放在您的aspx文件中:

如果您已经拥有类似&lt;%@ Page的内容...... EnableEventValidation =“false”%&gt;