ASP.NET第一個程序

ASP.NET頁面由許多服務器控件以及HTML控件,文本和圖像組成。來自頁面的敏感數據和頁面上不同控件的狀態被存儲在頁面請求的上下文的隱藏字段中。

ASP.NET運行時控制頁面實例與其狀態之間的關聯。ASP.NET頁面是頁面的一個對象或從其繼承的頁面。

頁面上的所有控件也是從父Control類繼承的相關控件類的對象。運行頁面時,會創建對象頁面的一個實例及其所有內容控件。

ASP.NET頁面也是以*.aspx* 擴展名保存的服務器端文件。它本質上是模塊化的,可以分爲以下幾個核心部分:

  • 頁面指令
  • 代碼部分
  • 頁面佈局

頁面指令

Page指令設置頁面運行的環境。[@Page](https://github.com/Page "@Page")指令定義了ASP.NET頁面解析器和編譯器使用的頁面特定屬性。 Page指令指定如何處理頁面,並假設需要採取設置頁面。

它允許導入命名空間,加載程序集,並使用自定義標籤名稱和命名空間前綴註冊新控件。

代碼部分

代碼部分爲頁面和控制事件提供處理程序以及所需的其他功能。我們提到,ASP.NET遵循一個對象模型。 現在,當用戶界面上發生某些事件時,這些對象會引發事件,如用戶單擊按鈕或移動光標。事件處理函數對這些事件需要作出的響應進行編碼。事件處理程序只不過是綁定到控件的函數。

代碼段或代碼隱藏文件提供了所有這些事件處理程序例程以及開發人員使用的其他功能。 頁面代碼可以預編譯並以二進制程序集的形式進行部署。

頁面佈局

頁面佈局提供頁面的界面。它包含服務器控件,文本,內聯JavaScript和HTML標記。
下面的代碼片段提供了一個示例ASP.NET頁面,用於解釋用C#編寫的Page指令,代碼段和頁面佈局:

<!-- directives -->
<% @Page Language="C#" %>

<!-- code section -->
<script runat="server">

   private void convertoupper(object sender, EventArgs e)
   {
      string str = mytext.Value;
      changed_text.InnerHtml = str.ToUpper();
   }
</script>

<!-- Layout -->
<html>
   <head> 
      <title> Change to Upper Case </title> 
   </head>

   <body>
      <h3> Conversion to Upper Case </h3>

      <form runat="server">
         <input runat="server" id="mytext" type="text" />
         <input runat="server" id="button1" type="submit" value="Enter..." OnServerClick="convertoupper"/>

         <hr />
         <h3> Results: </h3>
         <span runat="server" id="changed_text" />
      </form>

   </body>

</html>

使用Visual Studio IDE

可使用Visual Studio IDE開發相同的示例。不用編寫代碼,只需將控件拖入設計視圖即可。首先打開 Visual Studio,點擊文件->新建 -> 項目,在左側中選擇:C#*->*Web,右側關聯項目選擇:ASP.NET應用程序,並填寫存儲的目錄位置, 如下所示 -

ASP.NET第一個程序

在接下來彈出的對話框中,選擇應用, 如下所示 -

ASP.NET第一個程序

打開解決方案資源管理器,項目的目錄結構如下所示 -

ASP.NET第一個程序

在項目名稱(HelloWorld)上點擊右鍵,在彈出菜單項目中選擇:添加->新建項,然後選擇Web->Web窗體,填寫文件的名稱爲:Default.aspx,如下所示 -

ASP.NET第一個程序

打開Default.aspx文件,然後從工具箱中拖放幾個控件進入到設計視圖中,如下所示 -

ASP.NET第一個程序

現在分別打開兩個文件:Default.aspxDefault.cs,它們的完整實現代碼如下 -

文件:Default.aspx -

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="HelloWorld.Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>第一個ASP.NET程序</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="確定" />
 結果是:<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        </div>
    </form>
</body>
</html>

文件:Default.cs -

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace HelloWorld
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            string buf = TextBox1.Text;
            Label1.Text = buf.ToUpper();
        }
    }
}

運行項目

要運行項目,可以通過點擊代碼上面的「瀏覽器」運行,如下圖 -

ASP.NET第一個程序

運行項目,得到以下結果 -

ASP.NET第一個程序

在輸入框中輸入一些字符,然後提交,這個應用程序會將輸入的字符串轉爲大寫並顯示出來。如下所示 -

ASP.NET第一個程序

這樣,第一個ASP.Net項目的程序就運行完成了。

易百教程移動端:請掃描本頁面底部(右側)二維碼並關注微信公衆號,回覆:"教程" 選擇相關教程閱讀或直接訪問:http://m.yiibai.com

上一篇:ASP.NET生命週期 下一篇:ASP.NET事件處理

加QQ羣啦,易百教程官方技術學習羣

QQ羣名稱

羣號

人數

免費

等級

羣介紹

JAVA技術

227270512

2000

LV5

Java基礎,JSP(Servlet),JAVA框架,Java高併發架構,Maven等等

MySQL/SQL

418407075

2000

LV5

SQL基礎,MySQL基礎,MySQL存儲過程,視圖,觸發器等等

大數據開發

655154550

2000

LV5

Spark,zookeeper,kafka,CDH,hive,fulme,hbase等Hadoop雲計算生態圈技術

Python技術

287904175

2000

LV5

Python編程,Python Web,Python大數據,Python爬蟲,自然語言處理等

Linux技術

479429477

2000

LV1

Redhat/Centos,Ubuntu,Shell,運維,監控等技術

PHP/Web開發者

460153241

1000

LV0

PHP基礎,PHP高級,網站優化/架構,JS,HTML,JQuery,前端等Web開發技術

人工智能

456236082

1000

LV0

人工智能,深度學習,算法等技術

Oracle數據庫

175248146

1000

LV0

SQL基礎,Oracle基礎,Oracle存儲過程,視圖,觸發器等等

Android開發

159629185

1000

LV0

Android開發,Android Studio,Kotlin,Dagger等技術

微軟技術

579821706

1000

LV0

C#,ASP.Net,VB.Net,ADO.Net,SQL Server,VBA,Excel等技術