首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将aspx webform上的所有控件转换为只读等效项

将ASP.NET Web Forms应用程序中的所有控件转换为只读等效项,可以通过以下步骤实现:

  1. 创建一个自定义基类,继承自原始控件类,并重写所有需要只读行为的属性。
  2. 在自定义基类中,将需要只读行为的属性设置为只读。
  3. 在页面中使用自定义基类替换原始控件类。

以下是一个示例代码,将所有TextBox控件转换为只读等效项:

代码语言:csharp
复制
// 创建自定义基类
public class ReadOnlyTextBox : TextBox
{
    // 重写Text属性,将其设置为只读
    public override string Text
    {
        get { return base.Text; }
        set { ; } // 不允许设置值
    }
}

// 在页面中使用自定义基类
<%@ Register TagPrefix="custom" Namespace="MyNamespace" Assembly="MyAssembly" %><custom:ReadOnlyTextBox ID="TextBox1" runat="server"></custom:ReadOnlyTextBox>

通过这种方式,可以将所有ASP.NET Web Forms应用程序中的TextBox控件转换为只读等效项,从而实现只读功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

把AutoEventWireup属性关闭

(因为Visual Studio模板默认是为true): 转自:http://www.cnblogs.com/chenxizhang/archive/2008/09/03/1282892.html...然后重新打包即可 虽然如此看起来是可以了,但VS实际上在运行的时候是读取另外一个目录的模板 C:/Program Files/Microsoft Visual Studio 9.0/Common7/.../WebForm.aspx C:/Program Files/Microsoft Visual Studio 9.0/Common7/IDE/ItemTemplatesCache/Web/CSharp.../2052/WebForm.zip/ContentPage_cb.aspx 注意,一旦把该属性设置为false,那么事件的绑定就需要明确地加入代码。...或者我们可以通过用override的方式重写页面或者控件的虚方法,也是一样实现功能 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140161.html原文链接:https

27530
  • ASP.Net MVC开发基础学习笔记:一、走向MVC模式

    (1)处理流程   在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/blog/index.aspx的URL,那么我们的WebForm程序会到网站根目录下去寻找...综上所述,在WebForm模式下:一个URL请求的是在服务器与该URL对应路径上的物理文件(ASPX文件或其他),然后由该文件来处理这个请求并返回结果给客户端。   ...ViewState在页面中的传递会造成大量的流量消耗; TIP:有关WebForm的服务器控件和ViewState的详细介绍,不了解的朋友可以阅读另一篇博文《ASP.Net WebForm学习笔记:aspx...四、第一个ASP.Net MVC程序 4.1 新建项目后的文件组织结构   (1)新建一个ASP.Net MVC 4项目,选择“基本”配置与“ASPX”视图引擎(暂时不用Razor引擎)。   ...其中,Controllers是所有控制器的类文件所在,而Models则是所有模型的类文件所在,而Views则是所有cshtml或aspx的文件所在。

    2K30

    ASP.Net MVC开发基础学习笔记:一、走向MVC模式

    /blog/index.aspx的URL,那么我们的WebForm程序会到网站根目录下去寻找blog目录下的index.aspx文件,然后由index.aspx页面的CodeBehind文件(.CS文件...综上所述,在WebForm模式下:一个URL请求的是在服务器与该URL对应路径上的物理文件(ASPX文件或其他),然后由该文件来处理这个请求并返回结果给客户端。   ...ViewState在页面中的传递会造成大量的流量消耗; TIP:有关WebForm的服务器控件和ViewState的详细介绍,不了解的朋友可以阅读另一篇博文《ASP.Net WebForm学习笔记:aspx...四、第一个ASP.Net MVC程序 4.1 新建项目后的文件组织结构   (1)新建一个ASP.Net MVC 4项目,选择“基本”配置与“ASPX”视图引擎(暂时不用Razor引擎)。   ...其中,Controllers是所有控制器的类文件所在,而Models则是所有模型的类文件所在,而Views则是所有cshtml或aspx的文件所在。

    91020

    Asp.net如何实现页面间的参数传递

    使用QueryString 使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在浏览器的地址栏上的(不安全),同时又不能传递对象...页面之间传递值 方式1: 在接收页 的html代码里加上一行: WebForm1.aspx" %>                WebForm1....aspx");    接收页: this.TextBox1.Text=(string)Application["sum"]; Application实质上是整个虚拟目录中所有文件的集合,如果想在整个应用范围内使用某个变量值...2. str=this.TextBox1.Text;        Server.Transfer("webform2.aspx");  接收页:     1.引入第一页的命名空间:using WebApplication1...;     2  this.TextBox1.Text=WebForm1.str; 本文由来源 21aspnet,由 javajgs_com 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点

    2.4K20

    ASP.Net WebForm温故知新学习笔记:一、aspx与服务器控件探秘

    实际上,ASP.Net经常被喷的诟病就在于WebForm以及只会拖控件的ASP.Net程序员,往往大型互联网系统也没有采用WebForm的模式进行开发。...一、神秘不神秘—aspx探秘 1.1 WebForm时代的请求对象 ?   在WebForm中,所有的页面请求都是以aspx文件作为请求对象(静态化和伪静态的除外)。...ProcessRequest方法和Page_Load方法(在此过程中,有可能需要访问数据库)来生成aspx页面的所有html内容,最后将生成好的html返回给浏览器端。   ...,这一年做WebForm的项目以来,用的最多也就是这些控件,数据控件除了Repeater就没用过其他的。...  (1)Button控件中的OnClientClick属性   ①在WebForm中,Button控件有两个Click事件:一个是OnClick的服务端事件,另一个是OnClientClick的客户端事件

    2.9K42

    ASP.Net Web Page深入探讨

    WebForm.aspx.cs" Inherits="MyNamespace.WebForm" %> 相信使用过CodeBehind...技术的朋友,对ASPX顶部的这句话应该是非常熟悉了,我们来一项一项的分析它: Page language="c#" 这个就不用多说了吧 Codebehind="WebForm.aspx.cs" 这一句表示绑定的代码文件...,打开这些源文件我们可以发现: public class WebForm_aspx : MyNamespace.WebForm, System.Web.SessionState.IRequiresSessionState...这就印证了我们前面的说法,ASPX是代码绑定类的子类,它的名称是ASPX文件名加上“_aspx”后缀,通过研究这些代码我们可以发现,实际上所有aspx中定义的服务器控件都是在这些代码中生成的,然后动态产生这些代码的时候...ASPX实际上是代码绑定中类的子类,所以它继承了所有的protected方法。

    2.1K70

    七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC

    开发,事实上ASP.NET是创建WEB应用的框架而MVC是能够用更好的方法来组织并管理代码的一种更高级架构体系,所以可以称之为ASP.NET MVC。...运行后生成的HTML代码的结果如下:label生成了span标签,Literal生成了转换为了简单的文本,而panel转换为了DIV标签。...解决方案 既然讲了ASP.Net Webform存在的两大问题即服务器控件和后台代码,以下是根源图, 那么解决方案是什么?...ASP.NET Webform 和MVC 比较,如下图: Microsoft Asp.Net MVC 是如何弥补Web Form存在的问题的? 后台代码和服务器控件是一切问题的根源。...所以如果你查看当前的WebForm体系结构,开发者正在使用的包含3层体系结构。三层体系结构是由UI包含ASPX及CS 后台代码。

    3.2K60

    领悟Web设计模式

    image.png 按照我们编写WebForm一般的习惯,首先在页面上拖放一个DropDownList、一个DataGrid、一个Button控件: 界面(webForm.aspx): 〈form id...;同时不同用户操作可能会导致不同的Controller策略,应用程序必须根据上一页面以及用户触发的事件来执行不同的操作;还有大多数WebForm都需要统一的界面风格,如果不对此处理将可能产生重复代码,因此有必要对...Page Controller模式在MVC模式的基础上使用一个公共的页基类来统一处理诸如Http请求,界面风格等,如图: ?...传统的WebForm一般继承自System.Web.UI.Page类,而Page Controller的实现思想是所有的WebForm继承自定义页面基类,如图: ?...Page Cache模式下的WebForm 几乎所有的WebForm面临的都是访问很频繁,改动却很少的应用,对WebForm的访问者来说有相当多的内容是重复的,因此我们可以试着把WebForm或者某些相同的内容保存在服务器内存中一段时间以加快程序的响应速度

    1.2K50

    ASP.Net请求处理机制初步探索之旅 - Part 4 WebForm页面生命周期

    开篇:上一篇我们了解了所谓的请求处理管道,在众多的事件中微软开放了19个重要的事件给我们,我们可以注入一些自定义的业务逻辑实现应用的个性化设计。本篇,我们来看看WebForm模式下的页面生命周期。...现在这些HTML控件会作为ASP.NET控件存活在服务器上,ASP.NET会触发一系列的事件,我们也可以在这些事件中注入自定义逻辑代码。...因此,无论是填充控件、设置ViewState还是应用主题等所有发生在页面加载中的所有事情。因此,如果我们能够在合适的事件中放入逻辑,那么毫无疑问我们代码将会干净很多。...在这个阶段,Page 对象会遍历页面控件树并在每个控件上递归地调用此方法。所有 ASP.NET Web 服务器控件都有一个用于写出发送给浏览器的控件标记的 Render 方法。...页面卸载 Unload   自此,狭义上的页面生命周期就结束了,但广义上的页面声明周期事件还未结束,还会经历一个UnLoad事件,该事件首先针对每个控件发生,继而针对该页发生。

    1.4K20

    无需重新编译代码,在线修改表单

    ,有的复杂,复杂的设计器你仔细看看,会越看越象VS的WinForm、WebForm 设计界面,设计窗口、工具栏、属性窗口一应俱全。...VS的WinForm\WebForm控件是可以这样做的,但它们需要事先绑定类型化的数据集(强类型的DataSet),而且该过程并不好用,由于需要数据集,所以想不编译程序是不可能的。    ...、填充方法来自动实现的: /// /// 收集窗体中的智能控件,组合成能够直接用于数据库插入和更新 查询的 SQL语句 /// 一个窗体中可以同时处理多个表的数据操作 /// 如果控件的数据属性设置为只读...,基本上就是创建一个数据库,执行建表脚本,编译、发布到一个IIS站点下。...5,找到你本地IIS中超市网站站点下的文件 GoodsManage\StockInfo.aspx ,然后在表单中增加下面的HTML代码,添加一个“经手人”数据控件,另外网格控件和分页控件也都加上经手人信息

    2.4K60

    ASP.Net WebForm温故知新学习笔记:二、ViewState与UpdatePanel探秘

    开篇:经历了上一篇《aspx与服务器控件探秘》后,我们了解了aspx和服务器控件背后的故事。这篇我们开始走进WebForm状态保持的一大法宝—ViewState,对其刨根究底一下。...后来,我们发现原来每一次的请求服务器都开启了不同的线程来处理,也就是说每次都会new一个XXX.aspx.cs中的类对象实例来进行处理(上一次new出来为我们处理的page对象也许早就被服务器销毁了)。...事实上,除了我们手动在服务器端向ViewState属性中添加的K/V对数据,我们在aspx.cs代码中为某些服务器控件设置的值(例如:为Repeater设置DataSource中存入的数据集、为Label...这样做的话,我们下次再向服务器提交请求时,现有表单中所有的服务器控件状态都会记录在ViewState中提交到服务器,在服务器端可以方便地对这些服务器控件进行有状态的操作并返回,这无疑是让我们欢喜的,因为方便了我们的开发过程...①页面级禁用ViewState:在aspx的首部的Page指令集中添加EnableViewState="false",该页面中所有控件的状态都不会存入ViewState的,页面一下就会清爽许多; <

    1.8K30

    页面之间传递参数的几种方法荟萃

    使用QueryString 使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在浏览器的地址栏上的(不安全),同时又不能传递对象...使用这种方法的步骤如下: 1,使用控件创建web表单(form) 2,创建可以返回表单的按钮和链接按钮 3,在按钮或链接按钮的单击事件里创建一个保存URL的字符变量 4,在保存的URL里添加QueryString...,在本例中我们把控件中的值存在Session变量中,然后在另一个页面中使用它,以不同页面间实现值传递的目的。...使用Session变量传递值的一般步骤如下: 1,在页面里添加必要的控件 2,创建可以返回表单的按钮和链接按钮 3,在按钮或链接按钮的单击事件里,把控件的值添加到session变量里 4,使用Response.Redirect...本文由来源 21aspnet,由 javajgs_com 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。

    1.4K30

    实现无刷新DropDownList联动效果

    document.getElementById("DropDownList2");       function RemoveAll(oElem) {             //清除DropDownList2的所有项...,将其赋给一个TextBox控件TH,以获取DropDownList2的值,为获取DropDownList2的值,网上有人说可通过使用隐藏的TextBox控件来获取,我未能实现,因为在客户端隐藏的TextBox...控件也是不可用脚本来访问的,没法给其赋值,我只能通过将其样式、字体颜色设于背景相同来达到隐藏效果,这是一个很笨的方法,有谁有好的方法,请帮我。    ...} 此页面实现如下功能:首先从数据库内读取所有类级别为1(即大类)的类名和类编号,绑定到DropDownList1控件上;然后通过DropDownList1的Attributes属性调用javascript...2、新建DropChild.aspx页面文件,其中不插入任何控件和文本,只在其后台文件(DropChild.aspx.cs)中的Page_Load中加入以下代码: if(this.Request["ClassID

    1.8K10

    DropDownList 详解「建议收藏」

    6、SelectedIndex属性:用于获取下拉列表中选项的索引值。如果未选定任何项,则返回值-1(负1)。 7、SelectedItem属性:用于获取列表中的选定项。...通过该属性可获得选定项的Text 和Value属性值。 8、SelectedValue属性:用于获取下拉列表中选定项的值。...var drp2 = document.getElementById(“DropDownList2”); function RemoveAll(oElem) { //清除DropDownList2的所有项...将其赋给一个TextBox控件TH,以获取DropDownList2的值, 此页面实现如下功能:首先从数据库内读取所有类级别为1(即大类)的类名和类编号,绑定到DropDownList1控件上;然后通过...2、新建 DropChild.aspx页面文件,其中不插入任何控件和文本,只在其后台文件(DropChild.aspx.cs)中的Page_Load中加入以下代码: 代码 if(this.Request

    2.9K20
    领券