ASP.Net TextBox只读时不能通过后台赋值取值

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

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

C#代码

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

[c#] view
plain
copyprint?

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

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

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

前台代码:

C#代码

  1. <asp:TextBox ID="TextBox1" runat="server" ReadOnly="True" ></asp:TextBox>

[c#] view
plain
copyprint?

  1. <asp:TextBox ID="TextBox1" runat="server" ReadOnly="True" ></asp:TextBox>
<asp:TextBox ID="TextBox1" runat="server" ReadOnly="True" ></asp:TextBox>

后台代码:

C#代码

  1. string Text = Request.Form["TextBox1"].Trim();

[c#] view
plain
copyprint?

  1. string Text = Request.Form["TextBox1"].Trim();
string Text = Request.Form["TextBox1"].Trim();

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

C#代码

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. if (!Page.IsPostBack)
  4. {
  5. TextBox1.Attributes.Add("readonly","true");
  6. }
  7. }
时间: 2024-10-11 13:30:13

ASP.Net TextBox只读时不能通过后台赋值取值的相关文章

晶振在电路设计时关于负载电容CL大小取值特别需要注意什么?

在无源晶体的设计中,经常遇到负载电容CL的大小取值.晶振设计与精度的提高.KHz无源晶振的停止.音叉晶体谐振器的精度漂移以及精度和无源晶振在高温下的精度是否等于低温的精度烦忧的问题等. 无源晶体振荡器(包括KHz和MHz)是否能够直接参考规范中给出的CL值来设计?如果没有,对设计参考有什么经验价值? 答:不能直接使用,建议CL值-2PF或3PF,然后乘以2. 无源晶体振荡器(包括KHz和MHz)的负载电容CL等效于晶体的所有电容.实际测量中应注意什么? 答:注意不要用示波器探头.万用表笔等测试工

第六章类(七)属性3提供属性验证、只读和只写属性、取值和赋值方法的访问修饰符

只记录回忆点 如果为LastName赋了无效的值,代码就会抛出异常.拦截赋值,并通过字段风格的API对参数进行验证,这是属性的优点之一. 一个好的实践是从属性的实现中访问属性的支持字段.换言之,要一直使用属性,不要直接调用字段. 可移除属性的取值方法或赋值方法来改变属性的可访问性. 只有赋值方法的属性是只写属性,这种情况较罕见.C#6.0开始支持只读自动实现的属性. 设计规范 如果属性值不变,要创建只读属性: 不要提供只写属性,也不要让赋值方法的可访问性比取值方法更宽松: 原文地址:https:

页面向后台传取值的几种方式对比

demo内容:在页面创建一个表单,通过提交表单的方式向后台传值,后台处理数据后跳转另一页面 (一).jsp+servlet 数据流向: (first.jsp——servlet) 注解版:jsp页面的form表单的:action=“**”——servlet的@WebServlet("/**"):method="post"——doPost(): input的name="**"—— request.getParameterValues("**

后台数据库取值 轮播图

<div> <div id="myCarousel" class="carousel slide"> <!-- 轮播(Carousel)指标 --> <ol class="carousel-indicators" style="bottom: 0;"> <c:forEach items="${advertList}" var="advert&q

解决.Net设置只读、隐藏后后台获取不到值的问题

在前台页面上放了几个textbox,用 ReadOnly=true设置不可编辑,用visible="False"设置不可见 用jquery给textbox赋值后在后台页面获取不到textbox中填写的值 解决方法如下: 用style="display:none"设置隐藏 以下几种方法可解决只读问题: 1.不设置ReadOnly,设置onfocus=this.blur() <asp:TextBox ID="TextBox1" runat=&q

Asp.net TextBox只能输入数字

原文:Asp.net TextBox只能输入数字 <asp:textbox id="TextBox1" onkeyup="if(isNaN(value))execCommand('undo')" runat="server" Width="80px" onafterpaste="if(isNaN(value))execCommand('undo')"></asp:textbox> 其

关于ASP.net TextBox控件的失去焦点后触发其它事件

编写人:CC阿爸 2015-2-02 今天在这里,我想与大家一起分享如何处理的ASP.net TextBox控件的失去焦点后触发其它事件的问题,在此做个小结,以供参考.有兴趣的同学,可以一同探讨与学习一下,否则就略过吧. 1.首先弄清楚问题,asp.net 2.0服务器控件没有onBlur.因此我们第一个方法是采用 OnTextChanged 来处理有一点要注意,txtVen的autopostback要设置为true.<asp:TextBox ID="txtVen" runat=

ASP.NET TextBox 当鼠标点击后清空默认提示文字

ASP.NET TextBox 当鼠标点击后清空默认提示文字 [ 方法一] 前台代码: <div>    <asp:TextBox ID="txtName" runat="server"></asp:TextBox>    <asp:TextBox ID="txtPwd" runat="server"></asp:TextBox>    <asp:Button

ASP.Net TextBox控件只允许输入数字

原文:ASP.Net TextBox控件只允许输入数字 1.1.在Asp.Net TextBox 控件的 OnKeyPress 事件中指定输入键盘码必须为数字: <asp:TextBox ID="TextBox" runat="server" OnKeyPress="if(((event.keyCode>=48)&&(event.keyCode <=57))||(event.keyCode==46)) {event.ret