0

当我单击提交按钮时,我在 aspx 页面上禁用了几个文本框和提交按钮,但我观察到当我刷新/重新加载浏览器时,控件再次启用,包括提交按钮。我搜索了它,但找不到任何原因/解决方案。任何人都可以提供有用的信息吗?

4

3 回答 3

1

当您刷新页面时,第一次生成页面的 html,并且它没有您在上次回发时所做的更改。你所能做的一切save the state of controls in some persistent medium like database or files and use it when page is refreshed

您可以尝试将一个控件的状态置于会话中并返回页面加载只是为了进行实验,如果它适合您,那么您可以将其存储在您喜欢的任何数据库中

单击按钮时更改状态

Textbox1.Enabled = false;
Session["Textbox1Enabled"] = false;

在 Page_LoadEvent

if(Session["Textbox1Enabled"] != null)
{
    Textbox1.Enabled =  bool.Parse(Session["Textbox1Enabled"].ToString());
}
于 2012-10-29T11:01:24.770 回答
0

你可以尝试Enabled="false"IsPostBack sectionEnableViewState="true"

if(!IsPostBack)
{
  //Bind your textbow
  yourTextBox.Enabled=false;
  yourTextBox.EnableViewState=true;
}

注意:您使用 ViewState 持久化您的控件

于 2012-10-29T11:00:57.747 回答
0

当您刷新/重新加载页面时,您正在请求它的新版本,因此您拥有的任何状态都将丢失。

要实现您想要实现的目标,您需要主动跟踪服务器上的会话,并基于此禁用控件。

于 2012-10-29T11:01:25.377 回答