1. ajax使用大体如下
  $(document).ready(function() {
            //预先加载第一个select,加载品牌,看好加载的的页面BrandHandler.ashx
            $.post('BrandHandler.ashx', {}, function(data) { $("#carbrand").html(data) }, 'html');            //当选择品牌的时候加载二级车系,构成联动
            $("#carbrand").change(function() {
                $.post('TypeHandler.ashx', { cartype: $(this).val() }, function(data) { $("#cartype").empty().html(data) }, 'html');
            });
        });
在后台使用this.carbrand.SelectedIndex获得的值永远是0,而不是界面选择的索引,求教!

解决方案 »

  1.   

    应该是你服务器控件。当你选择后。。下拉框数据重新加载这么用。。最好用HTML控件如果用服务器控件。。还是用和UpdatePanel一起用。
    要这么用最好就用隐藏存值
      

  2.   

    JS在页面更改的HTML标签的值...是不会写到viewstate里的..而后面通过服务器控件获得的值..其实是从viewstate里获取的..所以你用JS改变的值..在后台是获不到的.建议 如果用了jquery
    就直接再调用jquery 的ajax.将你要改变的值post到另一个页面进行你所需要的操作...
      

  3.   

    既然用了ajax,就全部用ajax 提交撒!不然你只有把你要提交的值,保存到一个隐藏域!后台才能获取到隐藏域的值!。net 服务器控件,之所以后台可以直接用.的方式来获取值,其实就是viewstate!楼主看看 page 生命周期!asp.net 原理 就知道是怎么回事了!
      

  4.   

    假设你的<Select>的name=“carbrand”,后台取值时应该这样:
    Request.Form["carbrand"]
      

  5.   

    Request.Params["你的DropDrowList的ID"]