在asp web表单中刷新页面后,从下拉框中保留所选项目

时间:2014-06-28 15:47:31

标签: c# asp.net dropdownbox

我有一个aspx页面,其中包含多个drop down list。因此,当用户忘记输入某些值时,我必须向用户显示错误,但每次DDL再次初始化,并且用户信息丢失,我该如何避免这种情况?

当用户忘记输入值时,我将其返回到当前url

url1=www.spadsystem.com
Response.Redirect(Url1);

我听说我们可以使用像absolute这样的东西来避免这个问题。我不确定。

4 个答案:

答案 0 :(得分:0)

使用SessionState对象存储ComboBox的SelectedIndex属性(例如Cmb),然后将其应用于Page_Load()事件。

示例1:在会话中存储值

int _idx = Cmb.SelectedIndex;
Session["idx"] = _idx.ToString();

示例2:从Session中读取并应用于ComboBox:

Cmb.SelectedIndex = (int)(Session["idx"]);

更多详情请见:http://msdn.microsoft.com/en-us/library/vstudio/ms178581%28v=vs.100%29.aspx

Rgds,

答案 1 :(得分:0)

避免重定向到另一个页面并返回以显示错误,并确保在IsPostBack为false时初始化列表。然后,ASP.NET Viewstate将为您完成所有操作并保留所有选定的值。

答案 2 :(得分:0)

首先,不要求用户重定向。

其次对Fields使用RequiredFieldValidator。当用户忘记输入任何值时,它会阻止回发。

第三,如果您是以编程方式绑定下拉列表,请在

中执行此操作
If(!IsPostBack)
{
   //Your ddl initialization here
}

这将确保您从DropDownLists中获取所选值

答案 3 :(得分:0)

同意使用RequiredFieldValidator。并且,如果控件的视图状态为on,则控件应保持其值(检查属性)。