首页
学习
活动
专区
工具
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

24930

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

(1)处理流程   在传统WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/blog/index.aspxURL,那么我们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.aspxURL,那么我们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文件所在。

87720

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

使用QueryString 使用QuerySting在页面间传递值已经是一种很老机制了,这种方法主要优点是实现起来非常简单,然而它缺点是传递值是会显示在浏览器地址栏(不安全),同时又不能传递对象...页面之间传递值 方式1: 在接收页 html代码里加上一行:                 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.8K42

ASP.Net Web Page深入探讨

相信使用过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 后台代码。

3K60

领悟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.3K20

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

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

2.3K60

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.7K30

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

使用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.3K30

实现无刷新DropDownList联动效果

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

1.7K10

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.7K20
领券