ASP.NET和Web窗体页介绍

开发 后端
本文介绍ASP.NET和Web窗体页,该页面由包含静态 HTML 服务器控件或 ASP.NET 服务器控件的文件构成。

在 ASP.NET 网页中,用户界面编程分为两个不同的部分:可视组件(视图)和结合了模型和控制器的逻辑。这种划分将页面的可视部分(视图)同与页面交互的、页面背后的代码(模型和控制器)分离开来。

可视元素称为 Web窗体页。该页面由包含静态 HTML 服务器控件或 ASP.NET 服务器控件(或同时包含这两种控件)的文件构成。在此示例中的窗体页由以下代码组成:

  1. <%@ Page Language="C#" AutoEventWireup="true" Codebehind="Default.aspx.cs" 
    Inherits="PageController._Default" %> 
  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>Untitled Page</title> 
  6. </head> 
  7. <body> 
  8. <form id="form1" runat="server"> 
  9. Name:<asp:TextBox ID="name" runat="server" /> 
  10. <p /> 
  11. <asp:Button ID="MyButton" Text="Click Here" OnClick="SubmitBtn_Click" 
    runat="server" /> 
  12. <p /> 
  13. <span id="mySpan" runat="server"></span> 
  14. </form> 
  15. </body> 
  16. </html> 

Web窗体页的逻辑由为了与窗体进行交互而创建的代码构成。编程逻辑放在一个与用户界面文件分离的文件中。此文件被称为"代码隐藏"文件:

  1. using System;  
  2. using System.Web;  
  3. using System.Web.UI;  
  4. namespace PageController  
  5. {  
  6. public partial class _Default : System.Web.UI.Page  
  7. {  
  8. protected void SubmitBtn_Click(object sender, EventArgs e)  
  9. {  
  10. mySpan.InnerHtml = "Hello, " + name.Text + ".";  
  11. }  
  12. }  


该类提供可由派生类覆盖的默认实现。

  1. using System;  
  2. using System.Web;  
  3. using System.Web.UI;  
  4. using System.Web.UI.WebControls;  
  5. namespace PageController  
  6. {  
  7. public partial class BasePage : Page  
  8. {  
  9. protected Label eMail;  
  10. protected Label siteName;  
  11. override protected void OnInit(EventArgs e)  
  12. {  
  13. //   
  14. this.Load += new System.EventHandler(this.Page_Load);  
  15. base.OnInit(e);  
  16. }  
  17. protected void Page_Load(object sender, System.EventArgs e)  
  18. {  
  19. if (!IsPostBack)  
  20. {  
  21. string name = Context.User.Identity.Name;  
  22. eMail.Text = DatabaseGateway.RetrieveAddress(name);  
  23. siteName.Text = "my cool site";  
  24. PageLoadEvent(sender, e);  
  25. }  
  26. }  
  27. // this method can be overridden by sub class.  
  28. virtual protected void PageLoadEvent(object sender, System.EventArgs e)  {
  29. }
  30. }
  31. }


以上介绍ASP.NET和Web窗体页

【编辑推荐】

  1. ASP.NET的TypeConverter
  2. 浅析ASP.NET的TypeResolver
  3. ASP.NET中定义JavaScriptConverter
  4. 在ASP.NET中替换Sys.Services的方法
  5. 使用ASP.NET AJAX的Profile Service
责任编辑:佚名 来源: IT专家网
相关推荐

2009-08-03 17:35:07

ASP.NET WebASP.NET编程工具

2012-09-18 11:02:10

ASP.NETC#Web Forms

2009-08-05 14:11:56

ASP.NET Web

2012-09-19 14:10:58

ASP.NETWebC

2009-07-23 14:17:41

2009-07-29 10:02:49

ASP.NET上传

2009-07-21 10:40:36

ASP.NET Pro

2009-07-29 09:14:36

ASP.NET网站

2009-09-10 14:02:08

LINQ ASP.NE

2009-07-20 16:12:21

ASP.NET Fra

2009-07-29 17:26:39

ASP.NET页面

2009-07-27 17:00:29

ASP.NET主机

2009-08-03 14:33:02

.NET平台c#ASP.NET

2009-08-19 09:23:40

ASP.NET Rou

2009-07-22 16:05:34

ASP.NET AJA

2009-07-29 17:23:17

ASP.NET表单

2009-06-12 09:24:34

ASP.NET窗体ASP.NET MVC

2009-07-21 13:30:59

JSP技术ASP.NET

2009-07-28 17:28:49

XML Web服务使用ASP.NET

2009-07-29 15:34:13

点赞
收藏

51CTO技术栈公众号