asp.net下拉列表客户端Ajax更新后的viewstate问题

asp.net下拉列表客户端Ajax更新后的viewstate问题,asp.net,Asp.net,在我的aspx页面中,我有一个下拉列表,最初在页面加载事件中加载一个值列表,该值列表显示在客户端下拉列表A和,根据另一个下拉列表下拉列表B的客户端选择,我编写了一个javascript,用Ajax行为更新下拉列表a的相应值,而无需整页回发 但是,当我们将页面发布到服务器时,在服务器端的页面加载事件中,会显示下拉列表A的初始发送值列表,但不会显示由Ajax调用加载的值,因为ViewState由于Ajax调用未正确更新。我可以用update panel轻松地解决这个问题,但它将Ajax请求大小增加到

在我的aspx页面中,我有一个下拉列表,最初在页面加载事件中加载一个值列表,该值列表显示在客户端下拉列表A和,根据另一个下拉列表下拉列表B的客户端选择,我编写了一个javascript,用Ajax行为更新下拉列表a的相应值,而无需整页回发


但是,当我们将页面发布到服务器时,在服务器端的页面加载事件中,会显示下拉列表A的初始发送值列表,但不会显示由Ajax调用加载的值,因为ViewState由于Ajax调用未正确更新。我可以用update panel轻松地解决这个问题,但它将Ajax请求大小增加到44KB,这比我编写的手工Ajax脚本的当前大小要高得多,我已经编写了0.5KB。有没有特殊的方法来解决这个问题而不是使用update panel?

您可以编写小js来将下拉选择的值存储在隐藏字段中。并使用通用HTML控件来减小viewstate大小

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

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

这里的HiddenField的id应该是什么?