1.介绍

正常情况下添加一个WebForm程序结构如下(命名为:myWebForm.aspx)

文件说明:.aspx文件:书写html代码部分,以及javascript,css等代码书写及引用

.aspx.cs文件:服务器端,使用C#代码处理客户端发过来的请求,做出相应的响应

.aspx.designer.cs文件:视图窗体创建文件,绘制在服务器端需要的控件,即相当于初始化的部分

现在的需求是:

将.aspx.designer.cs文件删除,在页面类里面添加一个在服务器端运行的控件Button和TextBox,当点击Button按钮时为TextBox赋值“Hello”,同时进行页面登录的校验.(当删除此文件后,在页面通过工具箱添加服务器端控件是会报错)如图:

所以我们要进行一系列的修改,重写一些方法,添加绑定事件,具体实施方法如下:

2.步骤

1.添加两个WebForm窗体,命名为:myWebForm.aspx  和  FormBase.aspx

2.在myWebForm.aspx文件内添加两个控件,代码如下

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="myWebForm.aspx.cs" Inherits="myWebApplication.myWebForm" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head runat="server">
  5. <title></title>
  6. </head>
  7. <body>
  8. <form id="form1" runat="server">
  9. <div>
  10. <%--添加两个控件,并添加runat="server"属性--%>
  11. <input id="myTxt" type="text" runat="server" />
  12. <input id="myBtn" type="button" value="button" runat="server" />
  13. </div>
  14. </form>
  15. </body>
  16. </html>

3.删除文件,将两个窗体中的.aspx.designer.cs(将里面定义的控件变量语句可以先复制出来)

4.编辑FormBase.aspx文件,重写方法,代码如下:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. namespace myWebApplication
  8. {
  9. public partial class FormBase : System.Web.UI.Page
  10. {
  11. //所有继承此类的页面在打开前都会先运行此类里的Page_Load方法
  12. //更改方法的修饰符
  13. private void Page_Load(object sender, EventArgs e)
  14. {
  15. //do somethings
  16. //可以在此处进行页面登录校验处理
  17. }
  18. //重写OnInit
  19. override protected void OnInit(EventArgs e)
  20. {
  21. InitializeComponent();
  22. base.OnInit(e);
  23. }
  24. private void InitializeComponent()
  25. {
  26. this.Load += new System.EventHandler(this.Page_Load);
  27. }
  28. }
  29. }

5.编辑myWebForm.aspx,继承FormBase,并重写方法,为页面类的控件添加事件

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. namespace myWebApplication
  8. {
  9. public partial class myWebForm : FormBase
  10. {
  11. protected System.Web.UI.HtmlControls.HtmlInputText myTxt;
  12. protected System.Web.UI.HtmlControls.HtmlInputButton myBtn;
  13. //重写OnInit
  14. protected override void OnInit(EventArgs e)
  15. {
  16. InitializeComponent();
  17. base.OnInit(e);//调用父类的OnInit
  18. }
  19. //添加事件
  20. private void InitializeComponent()
  21. {
  22. //为页面类的id为myBtn的Button添加事件
  23. this.myBtn.ServerClick += new EventHandler(myBtn_ServerClick);
  24. //this.Load += new System.EventHandler(this.Page_Load);
  25. }
  26. protected void Page_Load(object sender, EventArgs e)
  27. {
  28. if (!Page.IsPostBack)
  29. {
  30. //页面第一次加载时会运行里面的方法
  31. //通过点击提交表单的时候不会运行里面的方法
  32. }
  33. }
  34. private void myBtn_ServerClick(object sender, EventArgs e)
  35. {
  36. //当点击button时会触发此事件
  37. string s = "Hello";
  38. myTxt.Value = s;
  39. }
  40. }
  41. }

6.效果,运行此界面,点击button文本框会显"Hello字样"

7.总结

1.删除多余的文件

2.通过继承的方式对每个页面进行登录校验

3.等等

asp.net WebForm程序删除.designer.cs文件之后的故事的更多相关文章

  1. ASP.NET -- WebForm -- .aspx与.aspx.cs文件

    ASP.NET -- WebForm --  .aspx与.aspx.cs文件 1. ASP.NET -- WebForm(C#)文件 .aspx文件:是Html页面,页面的布局,样式在该文件中设计. ...

  2. aspx文件、aspx.cs文件、aspx.designer.cs文件之讲解

    .aspx文件:(页面)书写页面代码.存储的是页面design代码.只是放各个控件的代码,处理代码一般放在.cs文件中. .aspx.cs文件:(代码隐藏页)书写类代码.存储的是程序代码.一般存放与数 ...

  3. 为何没有.aspx.designer.cs文件?

    designer.cs 是窗体设计器生成的代码文件,作用是对窗体上的控件做初始化工作(在函数InitializeComponent()中)VS2003以前都把这部分代码放到窗体的cs文件中,由于这部分 ...

  4. Asp.net WebForm 中无法引用App_Code文件夹下的类

    在VS2013中新建asp.net webform应用程序,手动添加"APP_Code"文件夹并新建类文件,发现这些类无法在APP_Code文件夹以外被引用. 解决办法: 选中类文 ...

  5. asp.net应用程序脱机app_offline.htm文件

    This application is currently offline. To enable the application, remove the app_offline.htm file fr ...

  6. asp.net 网站 发布时 去掉.cs文件

    VS2013在WIN8下扁平的UI和我今天锈垢的大脑,让找这个设置找了好半天!!!   OK,言归正传.   在要发布的网站上右键,选择"发布网站".   在发布窗口中,会让你选择 ...

  7. 关于aspx.designer.cs

    .aspx文件..aspx.cs文件和.aspx.designer.cs的一些说明 .aspx文件:(页面)书写页面代码.存储的是页面design代码.只是放各个控件的代码,处理代码一般放在.cs文件 ...

  8. 关于aspx.designer.cs的研究

    .aspx文件..aspx.cs文件和.aspx.designer.cs的一些说明 .aspx文件:(页面)书写页面代码.存储的是页面design代码.只是放各个控件的代码,处理代码一般放在.cs文件 ...

  9. .net mvc 站点自带简易SSL加密传输 Word报告自动生成(例如 导出数据库结构) 微信小程序:动画(Animation) SignalR 设计理念(一) ASP.NET -- WebForm -- ViewState ASP.NET -- 一般处理程序ashx 常用到的一些js方法,记录一下 CryptoJS与C#AES加解密互转

    .net mvc 站点自带简易SSL加密传输   因项目需要,传输数据需要加密,因此有了一些经验,现简易抽出来分享! 请求:前端cryptojs用rsa/aes 或 rsa/des加密,后端.net ...

随机推荐

  1. Linux内核0.11 setup文件说明

    一.总体功能介绍 这是关于Linux-kernel-0.11中boot文件夹下setup.s源文件的实现功能的总结说明. setup.s是一个操作系统加载程序,它的主要功能是利用BIOS中断读取机器系 ...

  2. pyqt5 eric6

    1 安装Anaconda3 2 python环境变量改为Anaconda3中python 3 pip安装pyqt5 ,pip安装pyqt5-tool 其中tool中包含eric6 ui文件必须使用的d ...

  3. sqlserver 对比数据库表是否完全一致的简单方法

    1. 使用数据库的工具进行处理 tablediff.exe 工具目录 C:\Program Files\Microsoft SQL Server\\COM 工具使用说明 tablediff.exe - ...

  4. HHVM 3.0 发布,执行 PHP 的虚拟机

    HHVM 详细介绍 HipHop VM(HHVM)是Facebook推出的用来执行PHP代码的虚拟机,它是一个PHP的JIT(Just-In- Time)编译器,同时具有产生快速代码和即时编译的优点. ...

  5. Dubbo学习(一) Dubbo原理浅析

    一.初入Dubbo Dubbo学习文档: http://dubbo.incubator.apache.org/books/dubbo-user-book/ http://dubbo.incubator ...

  6. Qt——常用控件样式

    下面是我设计.调整.修改的Qt控件样式,仅供参考. Github地址:https://github.com/ikongziming/QtDemo/tree/master/StyleSheetDemo ...

  7. DAY6-Flask项目

    1.ViewModel:处理原始数据:裁剪修饰合并 2.访问静态资源 默认情况下,访问的路径为app根目录的下的static文件,为什么说app是根目录而不是fisher.py下,因为在实例化对象的时 ...

  8. Life Forms POJ - 3294(不小于k个字符串中的最长子串)

    题意: 求不小于字符串一半长度个字符串中的最长字串 解析: 论文题例11 将n个字符串连起来,中间用不相同的且没有出现在字符串中的字符隔开, 求后缀数组, 然后二分答案变为判定性问题, 然后判断每组的 ...

  9. 洛谷 P4363 [九省联考2018]一双木棋chess 解题报告

    P4363 [九省联考2018]一双木棋chess 题目描述 菲菲和牛牛在一块\(n\)行\(m\)列的棋盘上下棋,菲菲执黑棋先手,牛牛执白棋后手. 棋局开始时,棋盘上没有任何棋子,两人轮流在格子上落 ...

  10. Linux查看硬件信息命令

    一.查看服务器硬件信息 (1)查看服务器型号.序列号 [root@Master ~]# dmidecode|grep "System Information" -A9|egrep  ...