C# 在PageLoad上设置DropDownList的SelectedValue

C# 在PageLoad上设置DropDownList的SelectedValue,c#,asp.net,drop-down-menu,C#,Asp.net,Drop Down Menu,我使用的DropDownList有点问题。当用户更改SelectedIndex时,它们会被重定向到同一页面,但最后会根据所选值显示一个查询字符串 因为我没有发布,而是重定向,dropdownbox的状态没有保存,所以它总是默认为第一个状态 但是,如果我将其保存在会话中,或者根据页面加载中的查询字符串设置selectedvalue,当用户选择另一个listitem时,他们选择的选项将被页面加载中的选择覆盖 有没有办法解决这个问题?谢谢在您的特定情况下,您可以尝试以下方法: 在重定向查询字符串中包含

我使用的DropDownList有点问题。当用户更改SelectedIndex时,它们会被重定向到同一页面,但最后会根据所选值显示一个查询字符串

因为我没有发布,而是重定向,dropdownbox的状态没有保存,所以它总是默认为第一个状态

但是,如果我将其保存在会话中,或者根据页面加载中的查询字符串设置selectedvalue,当用户选择另一个listitem时,他们选择的选项将被页面加载中的选择覆盖


有没有办法解决这个问题?谢谢

在您的特定情况下,您可以尝试以下方法:

在重定向查询字符串中包含查询字符串param。表示用户已选择了一个值


在页面加载方法中,检查查询字符串param是否具有该值,然后为该下拉列表再次设置。

为什么要重定向它?页面重定向无法检索viewstate值,当您执行此操作时,它们将消失 而是将DropDownList的autopostback属性设置为true 然后对DropDownList事件使用DropDownList.SelectedValue或Text属性


如果需要使用查询字符串进行设置,也可以在页面的Onprerender事件中设置值。不需要重定向,只需设置dropDownList1。AutoPostBack=True; 或
从属性窗口将AutoPostBack设置为True第一个想法:为什么要重定向到同一页面,而不是让下拉菜单SelectedIndexChanged事件发生?因为当他们更改选择时,需要设置一个查询字符串,这是一个奇怪的要求。。但我猜老板/客户不会改变主意。无论如何,根据页面中的查询字符串设置selectedvalue。\u Load应该可以正常工作,请发布您的代码,我们将看到它有什么问题。