asp.net WebForm程序删除.designer.cs文件之后的故事

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文件内添加两个控件,代码如下

[html] view plaincopy

  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文件,重写方法,代码如下:

[csharp] view plaincopy

  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,并重写方法,为页面类的控件添加事件

[csharp] view plaincopy

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

时间: 2024-12-11 22:13:56

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

asp.net aspx.designer.cs文件不自动更新

一般情况下,对aspx进行编辑后,所对应的aspx.designer.cs文件会自动更新, 但有时候vs会拒绝自动更新. 1.当aspx里面有错时: 2.标签名不规范时,如: <asp:Panel/>写成 <asp:panel/> 后续补充中... 原文地址:https://www.cnblogs.com/sanpingx/p/10330873.html

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

.aspx文件:(页面)书写页面代码.存储的是页面design代码.只是放各个控件的代码,处理代码一般放在.cs文件中. .aspx.cs文件:(代码隐藏页)书写类代码.存储的是程序代码.一般存放与数据库连接和数据库相关的查询.更新.删除操作,还有各个按钮单击后发生的动作等. .aspx.designer.cs文件:书写页面设计代码.通常存放的是一些页面控件中的控件的配置信息,就是注册控件页面.这个东西是窗体设计器生成的代码文件,作用是对窗体上的控件执行初始 <%@ Page Language=

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

VS2013在WIN8下扁平的UI和我今天锈垢的大脑,让找这个设置找了好半天!!! OK,言归正传. 在要发布的网站上右键,选择"发布网站". 在发布窗口中,会让你选择一个发布配置文件,没有的话点击下拉菜单在里面选择新建一个. NEXT. 好,现在发布一下网站.发布出来的文件没有包含*.cs文件. 打开bin目录,会发现其中有一个名字为STAROCK_PAGES.dll文件,这就是之前根据设置生成的预编译文件. OK,就到这里吧,很简单,只是一开始真心没注意到那个下拉的设置!气人~ 收

关于aspx.designer.cs的研究

.aspx文件..aspx.cs文件和.aspx.designer.cs的一些说明 .aspx文件:(页面)书写页面代码.存储的是页面design代码.只是放各个控件的代码,处理代码一般放在.cs文件中. .aspx.cs文件:(代码隐藏页)书写类代码.存储的是程序代码.一般存放与数据库连接和数据库相关的查询.更新.删除操作,还有各个按钮单击后发生的动作等. .aspx.designer.cs文件:书写页面设计代码.通常存放的是一些页面控件中的控件的配置信息,就是注册控件页面.这个东西是窗体设计

关于aspx.designer.cs

.aspx文件..aspx.cs文件和.aspx.designer.cs的一些说明 .aspx文件:(页面)书写页面代码.存储的是页面design代码.只是放各个控件的代码,处理代码一般放在.cs文件中. .aspx.cs文件:(代码隐藏页)书写类代码.存储的是程序代码.一般存放与数据库连接和数据库相关的查询.更新.删除操作,还有各个按钮单击后发生的动作等. .aspx.designer.cs文件:书写页面设计代码.通常存放的是一些页面控件中的控件的配置信息,就是注册控件页面.这个东西是窗体设计

ASP.NET应用程序和ASP.NET网站所共有的文件: App_Browsers 等

App_Browsers 包含 ASP.NET 用于标识个别浏览器并确定其功能的浏览器定义 (.browser) 文件.有关更多信息,请参见浏览器定义文件架构(browsers 元素)和如何:在 ASP.NET 网页中检测浏览器类型. App_Data 包含应用程序数据文件,包括 MDF 文件.XML 文件和其他数据存储文件.ASP.NET 2.0 使用 App_Data 文件夹来存储应用程序的本地数据库,该数据库可用于维护成员资格和角色信息.有关更多信息,请参见成员资格简介和了解角色管理. A

designer.cs 删除后怎么恢复?(复制aspx修改名字后重新生成页面)

项目需要,经常拷贝页面过来修改,老是遇到页面出各种问题,对常见问题总结如下: 1.修改页面命名空间: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="XXX文件名.aspx.cs" Inherits="XXX命名空间" %> 2.designer.cs 内命名空间如果没有改变,可以删除designer.cs从新新建,具体步骤: 删除掉.aspx.d

逐步改用 IronPython 开发你的 ASP.NET 应用程序

IronPython for ASP.NET 的 CTP 已经发布有一段时间了,我们在看了官方提供的范例之后,相信对一个 ASP.NET 应用程序中完全使用 IronPython 开发还是有一些担心的.毕竟目前仅仅是 CTP 版本,并且缺乏 Visual Studio 的 Intellisence 的支持,在调试方面也有一些不足. 不过,今天我做了一些实验,发现可以在已有的 C# 的 ASP.NET 项目中引入 IronPython,而不会影响到原先程序的功能,这样,我们就可以混合使用 C#,

C# DataSet.Designer.cs

今天在做项目的时候,发现一个很奇葩的问题,VS 中DataSet数据集的问题Dataset数据集更新,在保存后原有的Dataset.Designer.cs不变,又增加一个新的Dataset1.Designer.cs文件是怎么回事?今天在网上看到有一个很好的解决方法:0.先把项目中的Dataset1.Designer.cs和Dataset.Designer.cs彻底删除1.关闭解决方案2.去找Dataset所在的[工程文件]=>以".csproj"结尾的文件3.用文本的方式打开4.