我正在尝试在btnCreate_OnClick事件之后将表单重置为默认值,就像第一个page_load一样.问题是在PostBack,每个文本框和其他控件之后重新加载ViewState值.由于DropDownList选择上的服务器事件,我无法停用viewstate.到目前为止我找到的唯一方法是在click事件之后重定向到self,但这会加载页面两次,因此是一个糟糕的解决方案.我尝试了ViewState.Clear()并更新了UpdatePanel,但没有成功.
我可以为所有控件做一个循环并设置txtXXXXX.Text =="",但我很确定这不是最好的主意.
类似Page.Reset()的东西本来就是完美的但它不存在.
我对这个问题的任何想法?
谢谢
如果可行,我通常只使用Response.Redirect从头开始重新加载同一页面.
对页面的初始GET请求通常比后续POST的成本低,因此没有太多理由可以避免它.
我们只需2行代码即可重置ASP.NET表单页面
protected void Button_Reset_Click(object sender, EventArgs e) { Session["ViewState"] = null; Response.Redirect("/Roster/DRAC/Create.aspx"); }