2010-12-22 55 views
0

在我的aspx页面中,我有下拉列表,初始页面加载事件加载显示给客户端的值列表(下拉列表“A”)并在客户端,根据客户端选择另一个下拉列表(下拉列表“B”)我写了一个JavaScript更新下拉列表“A”与相应的值与Ajax行为(没有整页回发)。asp.net下拉列表viewstate问题在客户端Ajax更新后

但是,当我们发布页面到服务器,在服务器端页面加载事件显示初始发送下拉列表“A”的值列表,但不是由于ViewState正确更新而导致的Ajax调用加载的值到Ajax调用。我可以通过更新面板轻松解决这个问题,但是它将Ajax请求大小增加到了44KB,这比我写的手工制作的Ajax脚本目前的要高得多(0.5KB)是否有修复此问题的特殊方法而不是使用更新面板?

回答

0

您可以编写小j来将下拉选定值存储在隐藏字段中。并使用通用HTML控件来减少视图状态大小。

$("select#a").change(function(){ 
$("input[type='hidden']").val($(this).children(":selected").val()); 
}); 

<select id="a" runat...><option ...></select> 
<asp:HiddenField ... /> 
+0

这里HiddenField的id应该是什么? – tugberk 2011-07-24 07:35:58