首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ASP.NET DropDownList在回发时不保留选定的项目

是因为在 ASP.NET Web Forms 中,每当页面回发(postback)时,页面的视图状态(view state)会被重置,包括所有的控件状态。DropDownList 控件是一种服务器控件,它用于在网页上显示一个下拉列表,用户可以从中选择一个选项。

当用户在 DropDownList 中选择一个项目并提交表单时,页面会回发到服务器进行处理。在回发过程中,DropDownList 的选中项会丢失,因为视图状态被重置了。这是因为 DropDownList 控件的选中项是保存在视图状态中的,而视图状态默认是不会跨回发保留的。

为了解决这个问题,可以使用以下方法之一:

  1. 在每次回发之前,将选中项的值保存到 Session 或其他持久化存储中。然后在回发后,从存储中获取选中项的值,并将其重新设置给 DropDownList。
  2. 在每次回发之前,将选中项的值保存到隐藏字段(Hidden Field)中。然后在回发后,从隐藏字段中获取选中项的值,并将其重新设置给 DropDownList。
  3. 在每次回发之前,将选中项的值保存到 Cookie 中。然后在回发后,从 Cookie 中获取选中项的值,并将其重新设置给 DropDownList。

需要注意的是,以上方法都需要在页面的回发事件中进行处理,以确保在回发后恢复 DropDownList 的选中项。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云数据库(TencentDB)。

腾讯云云服务器(CVM)是一种弹性计算服务,提供可扩展的计算能力,适用于各种应用场景。您可以根据实际需求选择不同配置的云服务器,并灵活调整资源,满足您的业务需求。

腾讯云数据库(TencentDB)是一种高性能、可扩展的云数据库服务,支持多种数据库引擎(如 MySQL、SQL Server、MongoDB 等),提供稳定可靠的数据存储和管理服务,适用于各种应用场景。

更多关于腾讯云云服务器和腾讯云数据库的详细信息,请访问以下链接:

腾讯云云服务器:https://cloud.tencent.com/product/cvm

腾讯云数据库:https://cloud.tencent.com/product/cdb

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET ViewState之详解

今天我们来了解一下在ASP.NET中ViewState的作用。 ViewState=视图状态; ViewState的通用解释就是:是 ASP.NET 页中的存储库,可以存储必须在回发过程中保留的值。...在各个回发之间保存值,而不将这些值存储在会话状态或用户配置文件中,将信息存储在视图状态中,这样在下次将该页发送到服务器时,代码便可以在页加载事件过程中访问这些信息。...所谓回发:就是由服务器控件导致的页面刷新。 ASP.NET 页框架使用视图状态在往返过程之间保存页和控件值。...在呈现页的 HTML 时,必须在回发过程中保留的页和值的当前状态将被序列化为 Base64 编码字符串。然后,它们将被放入页中的一个或多个隐藏字段。 大家在开发程序的时候,查看网页源代码。...的值,然后在下一次的回发事件中,DropDownList的值就会是通过Button事件修改过的值,而不是初始值。

1.5K30

EnableEventValidation错误原因分析以及解决办法

当EnableEventValidation 属性设置为 true 时,ASP.NET 仅允许在回发请求或回调期间可由控件引发的事件。...通过此模型,控件可在呈现期间注册其事件,然后在回发或回调期间验证这些事件。默认情况下,ASP.NET 中的所有事件驱动控件均使用此功能。 强烈建议不要禁用事件验证。...原来事件验证机制是在ASP.NET 2.0里新增的,这个设计的目的是为了防止恶意用户利用post 方法发送一些恶意数据。这就是事件验证机制的由来。...二 是 在下拉菜单中使用ajax,常见于省市联动菜单,可能是由于在aspx页面赋给了下拉菜单初始Item值,在事件回发时提示该错误,将下拉菜单初始Item值删除,在绑定事件中添加Item项。...……..” /> 当我们选择省市的DropDownList 并提交时,在 DropDownList 的 LoadPostData 事件中会验证提交的内容与 id 为 __EVENTVALIDATION

2.1K30
  • enableEventValidation 回发或回调参数无效 的解决办法

    当EnableEventValidation 属性设置为 true 时,ASP.NET 仅允许在回发请求或回调期间可由控件引发的事件。...通过此模型,控件可在呈现期间注册其事件,然后在回发或回调期间验证这些事件。默认情况下,ASP.NET 中的所有事件驱动控件均使用此功能。 强烈建议不要禁用事件验证。...原来事件验证机制是在ASP.NET 2.0里新增的,这个设计的目的是为了防止恶意用户利用post 方法发送一些恶意数据。这就是事件验证机制的由来。...二 是 在下拉菜单中使用ajax,常见于省市联动菜单,可能是由于在aspx页面赋给了下拉菜单初始Item值,在事件回发时提示该错误,将下拉菜单初始Item值删除,在绑定事件中添加Item项。...EVENTVALIDATION” value=”/wEWBQKGg9abDQKd9sHMBgKc9s……..” /> 当我们选择省市的DropDownList 并提交时,在 DropDownList 的

    2.1K10

    ASP.NET DropDownList1_SelectedIndexChanged使用

    DropDownList1.AutoPostBack 属性 今天写代码给DropDownList1添加DropDownList1_SelectedIndexChanged事件,在运行测试时发现DropDownList1..._SelectedIndexChanged事件; .呵呵...原来AutoPostBack属性的解释是:"当选定内容更改后,自动回发到服务器",当AutoPostBack的属性为false时系统不会自动回发到服务器...,自然DropDownList1_SelectedIndexChanged也不会执行.呵呵,,,,, TextBox.AutoPostBack 属性 获取或设置一个值,该值指示无论何时用户在 TextBox... 控件中按 Enter 或 Tab 键时,是否都会发生自动回发到服务器的操作。...故TextChanged事件只用在设置AutoPostBack =True的情况下才会执行。 Button控件是没有AutoPostBack属性的!故Click的事件默认就是自动回发触发。

    1K10

    ASP.NET DropDownList1_SelectedIndexChanged使用

    DropDownList1.AutoPostBack 属性 今天写代码给DropDownList1添加DropDownList1_SelectedIndexChanged事件,在运行测试时发现DropDownList1..._SelectedIndexChanged事件; .呵呵…原来AutoPostBack属性的解释是:”当选定内容更改后,自动回发到服务器”,当AutoPostBack的属性为false时系统不会自动回发到服务器...,自然DropDownList1_SelectedIndexChanged也不会执行.呵呵,,,,, TextBox.AutoPostBack 属性 获取或设置一个值,该值指示无论何时用户在 TextBox...控件中按 Enter 或 Tab 键时,是否都会发生自动回发到服务器的操作。...故TextChanged事件只用在设置AutoPostBack =True的情况下才会执行。 Button控件是没有AutoPostBack属性的!故Click的事件默认就是自动回发触发。

    50610

    Asp.net页面生命周期

    想了解管道模型,请参考asp.net管道模型(管线模型)之一发不可收拾)。如有不足请大家指出^_^!!  ...因为Request对象不是在HttpHandler中实例化的,具体请参考:asp.net管道模型(管线模型)之一发不可收拾)。 4.页面初始化(OnInit):读取页面和控件的值,生成动态服务器控件。...而TrackViewState的是在控件初始化的末期执行的,而上面的情况ddl先经历实例化,然后就添加列表项,在添加到页面控件树里面,当加入页面控件树时ddl会马上追赶页面的生命周期到达“加载”这个阶段...再补充——生命周期追赶:在后台代码中动态生成控件时,控件会处于其生命周期中的“实例化”阶段,当加入到页面控件树时就会同步到页面当前的生命周期阶段,而两个阶段之间的各个阶段控件都会经历 11.获取在Page_Load...15.回发事件处理:如Button的Click事件处理程序;注意——若在这里添加服务器控件,那么将不会触发loadviewstate和loadpostback。

    2.4K80

    System.ArgumentException: 回发或回调参数无效。在配置中使用

    关于在同一个页面中使用Gridview控件的时候发现气updaeting事件无法被服务器所响应,看来它的错误报警然后查询了部分资料现在将整理的解决方法总结如下:点击update 事件无法响应原因出在回发或回调参数无效...出于安全目的,此功能验证回发或回 调事件的参数是否来源于最初呈现这些事件的服务器控件。...出于安全目的,此功能验证回发或回调事件的参数 是否来源于最初呈现这些事件的服务器控件。...4、如果页面含有 DropDownList 或 ListBox这样的控件,可能以下原因造成: 4.1 在下拉菜单中使用ajax,常见于省市联动菜单,可能是由于在aspx页面赋给了下拉菜单初始Item...值,在事件回发时提示该错误,将下拉菜单初始Item值删除,在绑定事件中添加Item项。

    1.4K10

    WebForm的Grid页面页脚DropDownList事件

    ==”IButton_Name”得到 而我现在是一个dropdownload控件,当它选定一条记录的时候,怎么触发他的事件啊】 之前我也曾经看到过类似的问题,想当然的认为加上一个事件不就可以了吗 但是发现...页面返回时,也会执行ItemCreated事件,在Page_Load之前,但是这时候就不会再执行ItemDataBound事件了。 我们写程序的时候,一般都会有这个 Page_Load if(!...但是当页面回发的时候,这个ItemDataBound事件就不再执行了。 众所周知,ViewState不会记住控件的事件,只会记住一些属性。...当然,在Grid模板列里面,点击这个DropDownList没有事件的那个闪电符号可以选择,但是我们可以改他的HTML DropDownList id=”DropDownList2″ runat...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    63320

    php dropdownlist,遇到dropdownlist

    问题 有时,当我们试图指定一个ASP.NET Dropdownlist选中的项目时遇到这样的报错”Cannot have multiple items selected in a DropDownList...问题 有时,当我们试图指定一个ASP.NET Dropdownlist选中的项目时遇到这样的报错”Cannot have multiple items selected in a DropDownList...广告 Asp.net中DropDownlist中无法触发后台事件解决方案 上午在整理测试页面时,涉及到三级联动的效果功能,使用到服务器端 控件来设定效果,在检查业务逻辑无误的情况下 总是在页面提示一个运行时的页面错误...一.数据绑定… 文章 狼人2007 1970-01-01 658浏览量 js实现DropDownList的数据筛选 js实现DropDownList的数据筛选 背景: 前段时间做项目时遇到了在第三方控件中进行数据的筛选问题...使用的过程中遇到了一些小问题,记录下来以便日后翻阅。 在MVC中项目中使用JQuery,$.Post方法提交数据时产生中文乱码现象?

    3K10

    JavaScript和ASP.NET的传值

    JavaScript和ASP.NET的传值 因项目需要,最近一段时间里对于js的开发有了一定的了解。...在基于ASP.NET的开发中,经常性的需要JS脚本来增加一些客户端的控制,比如限制输入字符,日期控件等等。一般这样的控制基本上在客户端完成就比较好,无需回传到服务端。...var myvalue=document.all('Name').value; 2、服务器控件如何取js中变量的值         目前未发现比较好的办法,我通常采用的方法是在界面上放一个隐藏的控件HtmlInputHidden...,然后设置为以服务器控件运行,这样在js脚本中和ASP.NET代码里都可以访问到该控件的值         js中给服务器控件赋值:         var bt=document.all('Name'...选择到指定项         选择dropdownlist中值为“我得选择”得项         var handl=document.all('List1');         var my_value

    2.9K60

    DropDownList 详解「建议收藏」

    DropDownList 控件是一个下拉式的选单,功能和 RadioButtonList Web控件很类似,提供用户在一群选项中选择一个;不过RadioButtonList Web控件适合使用在较少量的选项群组项目...,而DropDownList Web 控件则适合用来管理大量的选项群组项目。...6、SelectedIndex属性:用于获取下拉列表中选项的索引值。如果未选定任何项,则返回值-1(负1)。 7、SelectedItem属性:用于获取列表中的选定项。...通过该属性可获得选定项的Text 和Value属性值。 8、SelectedValue属性:用于获取下拉列表中选定项的值。...事件程序名称” > DropDownList> 一次性在同一个table绑定多个DropDownlist,并且去掉重复项(即代替distinct),

    2.9K20

    ASP.NET MVC学习笔记06编辑方法和编辑视图

    当 scaffolding自动创建编辑视图时,它会查看Movie类并为 类的每个属性创建用于 Render的和的元素。...视图模板在文件的顶部有 @model MvcMovie.Models.Movie的声明,这将指定视 图期望的模型类型为 Movie。 ? 处理 POST 请求 回看前面的Eidt的Post方法。...如果禁用 JavaScript,则不会有客户端验证,但服务器将检测回传的值是无效的,而且将重新显示 表单中的值与错误消息。在本教程的后面,我们验证更详细的审查。...Index视图添加标记 在Views\Movies\Index.cshtml文件中,添加Html.DropDownList辅助方法,在TextBox前。完成的代码如下图所示: ?...下面的代码: @Html.DropDownList("movieGenre", "All") ViewBag中,”movieGenre“ 参考作为key在DropDownList中搜索 IEnumerable

    5K50

    Gridview导出到Excel,Gridview中的各类控件,Gridview中删除记录的处理

    一、Gridview中的内容导出到Excel 在日常工作中,经常要将gridview中的内容导出到excel报表中去,在asp.net 2.0中,同样可以很方便地实现将整个gridview中的内容导出到...要注意的是,由于gridview的内容可能是分页显示的,因此,这里在每次导出excel时,先将gridview的allowpaging属性设置为false,然后通过页面流的方式导出当前页的gridview...=xState) elm[i].click(); } } </script> 三、gridview中删除记录的处理 在gridview中,我们都希望能在删除记录时,能弹出提示框予以提示,在asp.net...1.1中,都可以很容易实现,那么在asp.net 2.0中要如何实现呢?...小结 在本文中,继续探讨了gridview控件的一些用法,如导出到excel,在删除记录时的处理,以及如何访问gridview中的控件等。

    2.6K20

    UpdatePanel的简单用法(非嵌套)「建议收藏」

    一、实例一 UpdatePanel内部控件引起的回发,来异步更新当前UpdatePanel内部其他控件的内容。...true(默认即为true); 二、实例二 UpdatePanel外部控件引起的回发,来异步更新UpdatePanel内部控件的内容。...上面的方式能够实现简单地异步局部更新的功能,但就性能方面考虑,我们应当只将数据确实会发生变化的控件放到UpdatePanel中,这就可能出现引起回发的控件不在UpdatePanel内的情况。...我们有两种方式实现这种效果: A、在Page_Load中用ScriptManager1.RegisterAsyncPostBackControl()注册一下要实现异步回发的控件。...、总结 UpdatePanel确实很有用,但是我们在使用过程中一定要注意它可能给我们带来的问题,例如:弹出框不显示等。

    94220
    领券