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中,这种做法已经限制。这是为了提高应用程...

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

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

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

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

Asp.net 2.0 自定义伪静态源码

根据微软官方伪静态UrlRewrite.dll源码,自己改写应用进项目中。  1、首先,我们写个用于HttpModule请求的类 RolesProvider using System; us...

使用ASP.NET 2.0 Profile存储用户信息[翻译] Level 200

作者: Stephen Walther 原文地址:http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnvs05/...

ASP.NET 2.0服务器控件开发之复杂属性

ASP.NET 2.0服务器控件开发之复杂属性   1. 实现连字符形式复杂属性   连字符形式属性是比较常见的复杂属性。我们常用的Font属性就是一个复杂属性,其包括多个子属...

[翻译]asp.net 2.0中的url映射

http://www.cnblogs.com/webabcd/archive/2007/01/15/620471.html原文发布日期:2007.01.10作者:Scott Mitchell翻译:we...
  • plean
  • plean
  • 2011-07-07 11:07
  • 250

使用ASP.NET 2.0中的ReportViewer控件

[翻译]使用ASP.NET 2.0中的ReportViewer控件 原文发布日期:2007.03.22 作者:Bipin Joshi 翻译:webabcd 介绍 任何数据驱动...

asp.net 2.0中的全球化与本地化

介绍 当每个开发者创建全球化的产品和程序时,全球化和本地化是两个重要的步骤. 全球化一个asp.net 2.0站点 语言也决定于地理位置,比如法语同时在法国和加拿大使用.但是法国使用...

ASP.NET 2.0 实现伪静态网页方法

利用Mircosoft URLRewriter.dll实现页面伪静态昨天,转贴了一篇利用ISAPI筛选器来实现URL伪静态的文章,我按照文章上的内容做,可是没有做出来,目前看来,该方法没有使用Micr...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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