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>
    


     


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

  • 相关阅读:
    134. Gas Station
    135. Candy
    137. Single Number II
    136. Single Number
    138. Copy List with Random Pointer
    140. Word Break II(hard)
    139. Word Break
    笔试面试知识点
    OA的一些概念
    实验记录贴 —— 账号同步实验 RTX 和 LDAP(AD域)
  • 原文地址:https://www.cnblogs.com/dingdingmao/p/3146488.html
Copyright © 2011-2022 走看看