如题,ASP.NET开发,SELECT的值是通过AJAX动态的从数据库中得到的,有三个SELECT,当选取SELECT的值后提交后返回,SELECT的默认值又回到了选择之前,请问,如何才能解决这个问题呢?请各位大哥大姐说一下思路,谢谢啦

解决方案 »

  1.   

    保存之前   static int  index=你选择的index;     保存之后   让这个index默认被选择
      

  2.   

    你的select是ajax拼出来的,就在页面上用个hidden。提交的时候给hidden赋值,拼select的时候判断hidden是否有值,有值就给一个selected属性。
      

  3.   

    不好意思,我举个例子;
    例如:select下拉框有1,2,3,4,5,(动态生成的,来源于数据库)默认为1,假设我选择3后,提交,页面返回后下拉框显示是1,而不是3,现在要实现显示3的效果,不知道我现在表达清楚了没有,要还没有的话,那就是我表达能力的问题了
      

  4.   

    你可以在后台用hiddenfield来保存每个选中的值
    然后再前台js中来获取hiddenfield的值,在页面onload调用  function ShowAllIndex()
        {      
            var hid1 = document.getElementById("HiddenField1");
            var country = document.getElementById("ddlCountry");
            var countryArray = document.getElementById("ddlCountry").getElementsByTagName("option");
            var province = document.getElementById("ddlProvince");
            var provincetxt = document.getElementById("txtProvince");
            var questiontxt= document.getElementById("txtQuestions");
            var lblProvince= document.getElementById("Label33");
            var p;
            for(p=0;p<countryArray.length;p++)
            {   
                
                if(countryArray[p].value!=null && countryArray[p].value==hid1)
                {   
                    
                     countryArray[p].selected=true; 
                }
            }
      

  5.   

    两种选择一种:第一种,使用正规的asp.net服务器控件来开发。人家的控件不是业余的,在提交和页面(或者UpdatePanel局部)返回是可以保持状态的。
    第二种,根本不考虑什么通过asp.net完成“提交,页面返回”的功能,完全使用自己的脚本代码、异步ajax来实现交互。
      

  6.   

    要是单独开发的是没有问题的,关键是修改以前的老项目(都有6,7年的历史了吧),将DropDownList控件全部改成ajax的无刷新显示,还包含其他的很多控件,而且所有控件的值都与数据库相关,真是牵一发而动全身啊。