ASP.NET和Web窗體頁(yè)介紹
在 ASP.NET 網(wǎng)頁(yè)中,用戶(hù)界面編程分為兩個(gè)不同的部分:可視組件(視圖)和結(jié)合了模型和控制器的邏輯。這種劃分將頁(yè)面的可視部分(視圖)同與頁(yè)面交互的、頁(yè)面背后的代碼(模型和控制器)分離開(kāi)來(lái)。
可視元素稱(chēng)為 Web窗體頁(yè)。該頁(yè)面由包含靜態(tài) HTML 服務(wù)器控件或 ASP.NET 服務(wù)器控件(或同時(shí)包含這兩種控件)的文件構(gòu)成。在此示例中的窗體頁(yè)由以下代碼組成:
- <%@ Page Language="C#" AutoEventWireup="true" Codebehind="Default.aspx.cs"
Inherits="PageController._Default" %>- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <title>Untitled Page</title>
- </head>
- <body>
- <form id="form1" runat="server">
- Name:<asp:TextBox ID="name" runat="server" />
- <p />
- <asp:Button ID="MyButton" Text="Click Here" OnClick="SubmitBtn_Click"
runat="server" />- <p />
- <span id="mySpan" runat="server"></span>
- </form>
- </body>
- </html>
Web窗體頁(yè)的邏輯由為了與窗體進(jìn)行交互而創(chuàng)建的代碼構(gòu)成。編程邏輯放在一個(gè)與用戶(hù)界面文件分離的文件中。此文件被稱(chēng)為"代碼隱藏"文件:
- using System;
- using System.Web;
- using System.Web.UI;
- namespace PageController
- {
- public partial class _Default : System.Web.UI.Page
- {
- protected void SubmitBtn_Click(object sender, EventArgs e)
- {
- mySpan.InnerHtml = "Hello, " + name.Text + ".";
- }
- }
- }
該類(lèi)提供可由派生類(lèi)覆蓋的默認(rèn)實(shí)現(xiàn)。
- using System;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- namespace PageController
- {
- public partial class BasePage : Page
- {
- protected Label eMail;
- protected Label siteName;
- override protected void OnInit(EventArgs e)
- {
- //
- this.Load += new System.EventHandler(this.Page_Load);
- base.OnInit(e);
- }
- protected void Page_Load(object sender, System.EventArgs e)
- {
- if (!IsPostBack)
- {
- string name = Context.User.Identity.Name;
- eMail.Text = DatabaseGateway.RetrieveAddress(name);
- siteName.Text = "my cool site";
- PageLoadEvent(sender, e);
- }
- }
- // this method can be overridden by sub class.
- virtual protected void PageLoadEvent(object sender, System.EventArgs e) {
- }
- }
- }
以上介紹ASP.NET和Web窗體頁(yè)
【編輯推薦】