ASP.Net TextBox只读时不能取值的解决方案

  • A+
所属分类:ASP.NET

ASP.Net TextBox只读时不能取值的解决方案

给页面的TextBox设置ReadOnly="True"时,在后台代码中不能赋值取值,下边几种方法可以避免:

1、不设置ReadOnly,设置onfocus=this.blur()

  1. <asp:TextBox ID="TextBox1" runat="server" onfocus=this.blur()></asp:TextBox>   
  2. <asp:TextBox ID="TextBox1" runat="server" onfocus=this.blur()></asp:TextBox>  

文本框不变灰色,但也无法手动修改内容,可以在后台通过Text属性正常赋值取值

2、设置了ReadOnly属性后,通过Request来取值,如下:

  1. <asp:TextBox ID="TextBox1" runat="server" ReadOnly="True" ></asp:TextBox>   
  2. <asp:TextBox ID="TextBox1" runat="server" ReadOnly="True" ></asp:TextBox>  
  3. </pre>  
  4. <pre class="prettyprint linenums" >  
  5. string Text = Request.Form["TextBox1"].Trim();   
  6. string Text = Request.Form["TextBox1"].Trim();  

3、在Page_Load()正设置文本框的只读属性,能正常读取,如下:

  1. protected void Page_Load(object sender, EventArgs e)    
  2. {    
  3.     if (!Page.IsPostBack)    
  4.     {    
  5.         TextBox1.Attributes.Add("readonly","true");    
  6.     }    
  7. }   
钰玺

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: