我有一个aspx
页面,其中包含多个drop down list
。因此,当用户忘记输入某些值时,我必须向用户显示错误,但每次DDL
再次初始化,并且用户信息丢失,我该如何避免这种情况?
当用户忘记输入值时,我将其返回到当前url
url1=www.spadsystem.com
Response.Redirect(Url1);
我听说我们可以使用像absolute
这样的东西来避免这个问题。我不确定。
答案 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,则控件应保持其值(检查属性)。