ASP.NET 2.0中ReadOnly的TextBox

转载 2006年05月22日 14:55:00

ASP.NET 2.0中ReadOnly的TextBox

[来源:AppDev-SYSK 118] 有时候,我们不希望用户直接编辑TextBox,而是希望通过客户端脚本的方式来设置内容,一般的做法是设置TextBox的属性ReadOnly为true。但在ASP.NET 2.0里有了变化,设置了ReadOnly为true的TextBox,在服务器端不能通过Text属性获取在客户端设置的新内容,在Reflector里比较一下LoadPostData的实现

.NET 1.1中,

bool IPostBackDataHandler.LoadPostData(string postDataKey, NameValueCollection postCollection)
{
      string text1 = this.Text;
      string text2 = postCollection[postDataKey];
      if (!text1.Equals(text2))
      {
            this.Text = text2;
            return true;
      }
      return false;
}

.NET 2.0中,

protected virtual bool LoadPostData(string postDataKey, NameValueCollection postCollection)
{
      base.ValidateEvent(postDataKey);
      string text1 = this.Text;
      string text2 = postCollection[postDataKey];
      if (!this.ReadOnly && !text1.Equals(text2, StringComparison.Ordinal))
      {
            this.Text = text2;
            return true;
      }
      return false;
}

就可以看出,如果设置了ReadOnly为true,从客户端传回的新的值是不被设置到Text属性的。

想要保持.NET 1.*中的行为,建议的做法是设置客户端属性ContentEditable=false,参考

SYSK 118: ReadOnly or ContentEditable?
http://blogs.msdn.com/irenak/archive/2006/05/03/589085.aspx

其实如果是设置客户端属性的话,设置客户端的readonly属性应该也是可以的:

TextBox1.Attributes["readonly"] = "true";

ASP.NET 2.0中TextBox服务器控件的ReadOnly和Disabled属性

在以前的ASP.NET 1.x版本中,设置为ReadOnly的TextBox控件在客户端更改了值后,在服务器端仍然可以得到修改后的值,但在ASP.NET 2.0中,这种做法已经限制。这是为了提高应用程...
  • jxqvip
  • jxqvip
  • 2011年04月21日 14:58
  • 705

asp.net 子页面使用js给ReadOnly的TextBox赋值

主页面 前台代码:
  • nvhaixx
  • nvhaixx
  • 2016年11月30日 11:28
  • 403

ASP.NET 中TextBox设置ReadOnly="true" 无法取到值的做法

以上正文出转自 http://blog.csdn.net/liuliang1232005/archive/2008/05/23/2473387.aspx  原文作者没找到 --------...

(转)解决Asp.net中文本框控件(TextBox)readonly或disabled时内容无法POST到服

网页中有的时候想让用户无法在文本框控件(TextBox)里输入,常见的方法是把它的ReadOnly属性设为True,或者是将Enabled属性设为False。这两种方法的作用差不多。另外还可以用标签代...

asp.net 2.0中显示主从关系另一个方法

一般是在asp.net 2.0中,是用master-detail的关系来显示数据的,显示的办法也很多,但今天 看书发现一个,是在同一个gridview里,搭配bulletedlist来显示的。关键部分...

轻松加密ASP.NET 2.0 Web程序配置信息

轻松加密ASP.NET 2.0 Web程序配置信息用这个方法来加密程序中的配置文件,app.config一、简介  当创建ASP.NET 2.0应用程序时,开发者通常都把敏感的配置信息存储在Web.c...

使用asp.net 2.0中的SqlBulkCopy类批量复制数据

介绍: 在软件开发中,把数据从一个地方复制到另一个地方是一个普遍的应用。 在很多不同的场合都会执行这个操作,包括旧系统到新系统的移植,从不同的数据库备份数据和收集数据。 ASP.NET 2.0有一个...

用ASP.NET 2.0主题控制网站外观

自。NET Framework出现以来,对网站外观进行控制一直是ASP.NET开发者的期待。ASP.NET 2.0使之成为现实,应用它的主题与皮肤,我们可以对外观进行控制。ftubd.com   上...

ASP.Net 2.0窗体身份验证机制详解(FormsAuthentication) (转载)

ASP.Net 2.0窗体身份验证机制详解(FormsAuthentication) (转载) ASP.Net 2.0窗体身份验证机制详解(FormsAuthentication) ...

配置asp.net 2.0的项目到IIS7

首先碰到以下问题: 无法读取配置节"system.web.extensions",因为它缺少节声明 在微软的论坛找到了解决的办法: http://forums.asp.net/p/1...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET 2.0中ReadOnly的TextBox
举报原因:
原因补充:

(最多只允许输入30个字)