我的界面上有一些下拉框,就是HTML的<select>,
这些下拉框中的值都是JavaScript动态写进去的。
但是,页面Post后,这写下拉框的值就都没有了怎么办啊?

解决方案 »

  1.   

    没有办法解决,除非你使用ajax
      

  2.   

    两种方法:
    1 利用url传值,将下拉框的值简单编码后利用url传值
    2 利用hiddenfield隐藏控件,设置成runat=server后,后台也可以很方便的访问了
      

  3.   

    设定一事件,比如INDEXCHANGE,当事件激活时用JS将选择信息按照一定规律保存在HIDDENFIELD中,在读取和调用的时候直接使用HIDDENFIELD中的值。
      

  4.   

    简单的描述使用方法
    1 点击按钮的时候前台获取得到相关下拉框的值,然后构造成一个url,window.location ="";
    2 post前,将相关的下拉框的值(javascript)存入到一个hiddenfield或者多个hiddenfield,然后后台就可以读取
      

  5.   

    我的界面上有一些下拉框,就是HTML的 <select>, 
    这些下拉框中的值都是JavaScript动态写进去的。 
    但是,页面Post后,这写下拉框的值就都没有了 怎么办啊?
    =====================
    解决方案:
    你往里写值时同时把值写到一个
    <div style="display:none">
    <asp:textbox..
    </div>
    TextBox中,
    你postback取值就从这个TextBox中取就行了.
    然后每次postback的时候再把<select>的值还原
      

  6.   

    哦,还挺麻烦的,
    为什么我利用C#添加值的列表框的,在页面提交后就可以保留列表
    而利用JavaScript添加的列表,页面提交后,就被清空了呢?
      

  7.   

    我的界面上有一些下拉框,就是HTML的 <select>, 
    这些下拉框中的值都是JavaScript动态写进去的。 
    但是,页面Post后,这写下拉框的值就都没有了 ===========================
    我指的是,整个列表框都被清空了。
    就是没有列表了
      

  8.   

    <input type="hidden" runat="server" name="password" id= "hidd1" value="1234"/><input type="submit" runat="server" id ="x" onclick = "get()" />function get()
    {
       document.getElementById('hidd1').value = document.getElementById('select1').value;
    }
    代码差不多,不一定正确,但是给出大部分了另外有种方法就是request.form["控件name"]这样来取,你可以参考http://zhidao.baidu.com/question/19804928.html
      

  9.   

    为什么我利用C#添加值的列表框的,在页面提交后就可以保留列表 
    而利用JavaScript添加的列表,页面提交后,就被清空了呢?
    ----
    javascript是客户端更改,并没有保存到提交值域,你可以看看aspx形成的页面都有个隐藏值域,所以postback后你得不到
      

  10.   

    javascript是客户端更改,并没有保存到提交值域,你可以看看aspx形成的页面都有个隐藏值域,所以postback后你得不到
    ----
    得不到意思是不能通过控件id.text这样的形式来得到不过依然可以利用request.form["控件name"]这样来取,我已经给出参考链接了,请lz参考
      

  11.   

    是要保留列表框的列表-------
    <input type="hidden" runat="server" name="password" id= "hidd1" value="1234"/> <input type="submit" runat="server" id ="x" onclick = "get()" /> function get() 

      document.getElementById('hidd1').value = document.getElementById('select1').value; 

    代码差不多,不一定正确,但是给出大部分了 
    ---------------
    这样来保存即可,遍历select的每个option获得value存入到hiddenfield里面去(hidd1.value = "op1;op2;op3...")
      

  12.   

    这样只是保存到Hidden中了,如果才能在页面提交完后。列表框中还有列表呢?
    谢谢,我对Web开发不熟,
      

  13.   

    postback后
    1 pageload事件里面对select操作(select设定为runat=server)
    2 点击按钮后台事件添加一个registerscriptblock的方法(这个注入脚本有两种方法,两种有不同,需要你自行识别使用)来注入一个js方法,该js方法写在页面的head标签里,这个js方法来读取hiddenfield的值并还原列表。
      

  14.   

    Post后,为什么Hidden能保存值,Select不能保存呢。
      

  15.   

    Post后,为什么Hidden能保存值,Select不能保存呢。
    -----
    如果select设置成runat=server,你看看