慎用客户端的disabled属性......

mac2022-06-30  22

由于表单的修改由两种用户操作,分别能修改的项是不一样的,但都可以查看。 设想实现一个修改方法,两种用户修改保存后都调用这个方法作保存操作,然后在客户端判断不同的用户然后把部分控件disabled掉。结果出现在客户端disabled掉的控件在服务器端得到的值为""的问题了,刚开始不解,写了个测试程序也是这样的,想来想去,可能是disabled后控件的viewstate也不可用了,所以在服务器端就得不到其值了。测试代码如下: // 服务器 private   void  Page_Load( object  sender, System.EventArgs e)         {            if(!IsPostBack)            {                this.TextBox1.Text = "guoguo";            }        } private   void  Button1_Click( object  sender, System.EventArgs e)         {            Response.Write("<script>alert('"+this.TextBox1.Text +"')</script>");        } // 客户端 < script language = javascript >           function window_load()           {              Form1.TextBox1.disabled = true;          }          </ script > < body MS_POSITIONING = " GridLayout "  onload = " window_load(); " >

点击按钮得到的是""值。

解决办法:把客户端的禁用功能放到服务器端实现就可以了。在page_load()中加入this.TextBox1.Enabled = false;除掉客户端的οnlοad="window_load();"就可以了。**************************************可能许多人早就知道了,但我确实是今天才发现了,费了我不少霎时间。平时做页面好少,都是写中间层代码,感觉asp.net还不熟。

转载于:https://www.cnblogs.com/hotsoho.net/archive/2004/11/30/71196.html

最新回复(0)