• <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>
    


     


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

  • 相关阅读:
    卡诺图简单逻辑化简与五变量卡诺图化简
    flash读写学习笔记与spi接口及简单测试验证(三)
    疯狂的订餐系统软件需求分析挑战之旅4
    .NET(C#):谈谈各种结束进程的方法
    疯狂的订餐系统软件需求分析挑战之旅3
    疯狂的订餐系统软件需求分析挑战之旅5
    找零
    ASP.NET MVC3 Razor视图引擎基础语法
    做了8年软件开发了,年龄大了,想要转行做测试,大家给点意见
    想搞一个 代码仓库的东西,不知道大家有没有兴趣啊
  • 原文地址:https://www.cnblogs.com/dingdingmao/p/3146488.html
Copyright © 2020-2023  润新知