在前台给textbox设置readonly=true属性后,避免后台取不到值的3种解决方法。

1、不设置ReadOnly,设置onfocus=this.blur()
C#代码
<asp :TextBox ID= "TextBox1" runat= "server" onfocus= this .blur()></asp:TextBox>
文本框不变灰色,但也无法手动 修改 内容 ,可以在后台通过Text属性正常赋值取值

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

前台代码:
C#代码
<asp:TextBox ID= "TextBox1" runat= "server" ReadOnly= "True" ></asp:TextBox>
后台代码:
C#代码
strin g Text = Request.Form[ "TextBox1" ].Trim();

3、在Page_Load()正设置文本框的只读属性,能正常读取,如下:
C#代码
protected void Page_Load( object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
TextBox1.Attributes.Add("readonly" , "true" );
}

posted on 2015-07-09 09:37  过而不留  阅读(316)  评论(0编辑  收藏  举报

导航