从JavaScript添加asp.net下拉列表项会导致页面回发错误

时间:2011-02-17 01:23:03

标签: javascript jquery asp.net css asp.net-ajax

设计是:

所有元素都在updatepanel

点击<tr>列表以触发JavaScript功能,将新<option>添加到a​​sp dropdownlist

但是, 当我点击其他按钮回调服务器时,收到错误信息:

  

未捕获的   Sys.WebForms.PageRequestManagerServerErrorException:   Sys.WebForms.PageRequestManagerServerErrorException:   无效的回发或回调参数。   使用启用事件验证      在配置或&lt;%@ Page   EnableEventValidation =“true”%&gt;在一个   页。为安全起见,这个   功能验证参数   回发或回调事件源自   从服务器控制那个   最初渲染它们。如果数据   是有效的和预期的,使用   ClientScriptManager.RegisterForEventValidation   注册方法   回发或回调数据   验证

我理解这个问题。我需要让服务器端知道更改下拉列表之前的任何其他postback

将验证设置为false在这种情况下不起作用,下拉列表仍会丢失新项目。

我做了一些研究,以及可能的解决方案:

1)使用ViewState? Request Form?可以有人举个例子吗?

2)在服务器端添加下拉列表项。但是我想让整个tr行可以点击以触发事件。我可以点击tr并解雇例如。它的第一个孩子linkbutton或其他地方的linkbutton

3)我尝试了Jquery.ajax和webmethod,它可以触发服务器事件,但由于所有方法都是static (shared),所以它不允许我编辑downdownlist实例。

任何类型的解决方案都会有所帮助!!

此致

1 个答案:

答案 0 :(得分:1)

您应该触发服务器端事件处理程序以从javascript更新列表,如本文所述。 http://codeclimber.net.nz/archive/2007/06/26/how-to-refresh-an-updatepanel-from-javascript.aspx