zoukankan      html  css  js  c++  java
  • <asp:UpdatePanel中使用下拉时不得不注意的问题

    今天使用<asp:UpdatePanel  NET的一个AJAX的一个里面的一个控件

    ,他能很好的结合NET原有控件,进行异步的请求,从而改善客户端感受。

    但是今天我使用的时候,却发现我的值一直不能提交到服务器,而且是个别下拉不行,你选中以后他会默认到其他下拉里面去,这是为什么的,让我一直找不到原因。

    一直不得其解,最后没有办法使用HTML排除法,当我右键打开源码的时候总算发现了问题

    <select name="ddlYear" onchange="javascript:setTimeout('__doPostBack(\'ddlYear\',\'\')', 0)" id="ddlYear">
    		<option selected="selected" value="4,5,6,7,8,9,10,11,12">2012</option>
    		<option value="1,2,3,4,5,6,7,8,9,10,11,12">2013</option>
    		<option value="1,2,3,4,5,6,7,8,9,10,11,12">2014</option>
    		<option value="1,2,3,4,5,6,7,8,9,10,11,12">2015</option>
    		<option value="1,2,3,4,5,6,7,8,9,10,11,12">2016</option>
    		<option value="1,2,3,4,5,6,7,8,9,10,11,12">2017</option>
    		<option value="1,2,3,4,5,6,7,8,9,10,11,12">2018</option>
    		<option value="1,2,3,4,5,6,7,8,9,10,11,12">2019</option>
    		<option value="1,2,3,4,5,6,7,8,9,10,11,12">2020</option>
    		<option value="1,2,3,4,5,6,7,8,9,10,11,12">2021</option>
    		<option value="1,2,3,4">2022</option>
    </select>


    当我看到这里的时候有些明悟了,原来因为他们的value是一致的,所以当你选择进行返回数据时,HTTP就会认为你是发送的多余的请求,从而你的这个操作就会失败。

    没有办法我就把 text值放到了  value值中,于是问题解决。

    <select name="ddlYear" onchange="javascript:setTimeout('__doPostBack(\'ddlYear\',\'\')', 0)" id="ddlYear">
    		<option selected="selected" value="2012-4,5,6,7,8,9,10,11,12">2012</option>
    		<option value="2013-1,2,3,4,5,6,7,8,9,10,11,12">2013</option>
    		<option value="2014-1,2,3,4,5,6,7,8,9,10,11,12">2014</option>
    		<option value="2015-1,2,3,4,5,6,7,8,9,10,11,12">2015</option>
    		<option value="2016-1,2,3,4,5,6,7,8,9,10,11,12">2016</option>
    		<option value="2017-1,2,3,4,5,6,7,8,9,10,11,12">2017</option>
    		<option value="2018-1,2,3,4,5,6,7,8,9,10,11,12">2018</option>
    		<option value="2019-1,2,3,4,5,6,7,8,9,10,11,12">2019</option>
    		<option value="2020-1,2,3,4,5,6,7,8,9,10,11,12">2020</option>
    		<option value="2021-1,2,3,4,5,6,7,8,9,10,11,12">2021</option>
    		<option value="2022-1,2,3,4">2022</option>
     
    	</select>
    


     


    主要是保证值的唯一性,这样在发起异步请求时,他就不会以为你是发送的垃圾的请求就可以了。

  • 相关阅读:
    八、比卦
    七、师卦
    六、讼卦
    五、需卦
    力扣-两数之和
    什么是3NF (范式) ?
    SQL事务4个特性
    什么是索引?
    假设把只包含01的数组(如{0,0,1,1,1,0,1,0,0,1})按照升序排序,可以任意交换两个数的位置,请输出最少需要交换的次数。
    找规律并用编程实现如下数列(数值超过10000停止打印) 1,1,2,2,3,2,5,4,8,8
  • 原文地址:https://www.cnblogs.com/dingdingmao/p/3146488.html
Copyright © 2011-2022 走看看