那些年,我還在學習asp.net(二)
那些年覺得看視頻是很輕松的了解一個東西,但是這樣的不足就是感覺太慢了,沒有看書來得快,所以在有了一些了解后,還得看點書,也許書上的不一定好,但書上會把每一個應該說到的地方說到,好有個初步的認識。比如說.NET平臺、組件等知識的介紹,所以,那些年就開始了asp.net方面的進一步學習。
一、學習asp.net的準備知識
正如我前面那些年所學習的,在開始之前得對它們有一定的認識:
1、 html語言的基本使用
2、 CSS+DIV的學習,撐握基本的布局
3、 Javascript基礎。在初期,特別是對DOM的操作。
4、 了解asp.net的基本控件的使用
二、開始學習asp.net
1、.NET平臺中的一些概念,比如說:CLR(公共語言運行時)、IL(微軟中間語言)、JIT(即時編譯器)、CTS(通用類型系統(tǒng))、CLS(公共語言規(guī)范)以及.NET FrameWork等,當然還得知道.NET的體系結構,如圖:
(此圖來自網(wǎng)上51cto)
2、asp.net頁面請求響應機制與HTTP協(xié)議是必須了解的。HTTP是一個無狀態(tài)的協(xié)議,全名叫超文本傳輸協(xié)議,也就是說在瀏覽器與服務器之間是以html文件形式傳輸?shù)?,當用戶通過瀏覽器向WEB服務器以URL的形式請求一個頁面時,WEB服務器處理用戶的請求,返回一個WEB頁面給瀏覽器展示給用戶,這個過程完成后瀏覽器與WEB服務器就不在有關系了;基于這個過程,asp.net的請求響應也很相似,當瀏覽器請求WEB頁面時,WEB服務器處理這個請求,尋找是否有請求的頁面,從而定位這個文件,若是以.aspx的文件,WEB服務器會把請求交給asp.net的CLR,編譯執(zhí)行,并從數(shù)據(jù)庫取后請求的數(shù)據(jù)后,生成一個html文件,發(fā)送給瀏覽器。這里還有一些概念:
動態(tài)頁面:簡單的說就是所請求的頁面是通過從數(shù)據(jù)庫讀取數(shù)據(jù)生成的頁面,服務器上不存在的這樣一個文件。
靜態(tài)頁面:簡單的說就是服務器上有這樣一個文件,比如404頁面
B/S:指的是瀏覽器與服務器的方式
C/S:指的是客戶端與服務器的方式
三、Asp.net的基礎
1、 內(nèi)置對象,asp.net中有很多內(nèi)置對象,它們發(fā)揮了相當大的作用,下面就選幾個常用的來說說吧。
Request對象:請求對象,是HttpRequest類的實例,是自動創(chuàng)建的,可以用于獲得用戶在瀏覽器提交的數(shù)據(jù)以及一些HTTP信息,常用的屬性有:Cookies、Files、Form、Params、QueryString等,還有一些方法,如:MapPath、SavaAs等;
Response對象:響應對象,是HttpResponse類的實例,也是自動創(chuàng)建的,同樣有很多屬性(Cache、Cookies等)與方法(Redirect、Write等);
Session對象:會話對象,當一個用戶打開網(wǎng)頁時,那么服務器中就會有一個會話,保存當前用戶的一些信息,當用戶退出或關閉瀏覽器時,會話就消失;常用于保存用戶狀態(tài),如登錄、購物車等;使用方法以鍵/值對的形式,如Session[“KEY”]=Value;
Application對象:是一個全局的,在應用程序內(nèi)的狀態(tài),從應用的開始運行,直到應用的結束,使用方法同Session;
2、母版頁,這可是個好東西,在上網(wǎng)時,經(jīng)常會發(fā)現(xiàn)一些網(wǎng)站的頭尾是一樣的,或是某個版塊沒有變過,每個頁面都有,那么,這就可以用到母版頁來實現(xiàn)。在asp.net中,母版頁是一個以.master結尾的文件,其中有一個占位的控件,用來表示子頁顯示的地方,代碼如下:
復制代碼 代碼如下:
%@ Master Language="C#" AutoEventWireup="true" CodeFile="Show.master.cs" Inherits="Show" %>
!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>無標題頁/title>/head>
body>
form id="form1" runat="server">
asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
//子頁
/asp:ContentPlaceHolder>
/form>
/body>
/html>
3、 自定義用戶控件,是一個以.ascx結尾的文件,里面存放的是一些html和asp.net的服務器控件,當然還有一個代碼文件,是一個繼承自System.Web.UI.UserControl的類,我們可以將一些通用的模板做成這樣的控件,比如說用repeater與aspnetpager完成一個分頁的列表控件,這樣我們就重用這些代碼了,下面看一下示例:
Aspx代碼:
復制代碼 代碼如下:
%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="images_WebUserControl" %>
div>
table style="background-color: buttonface; width: 318px;">
tr style="text-align:left;">
td style="background: #cccccc; font-size: 22px; color: #003399; font-weight: bold;
width: 1284px;">
→新聞搜索
/td>
/tr>
tr>
td style="width: 1284px; height: 26px;">
作 者:asp:TextBox runat="server" ID="Textbox1" Width="214px">/asp:TextBox>
/td>
/tr>
tr>
td style="width: 1284px">
標 題:asp:TextBox runat="server" ID="Textbox2" Width="234px">/asp:TextBox>
/td>
/tr>
tr>
td style="text-align: right; width: 1284px;">
asp:Button runat="server" ID="button" Text="查詢" OnClick="button_Click" />/td>
/tr>
/table>
/div>
CS代碼:
復制代碼 代碼如下:
public partial class images_WebUserControl : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void button_Click(object sender, EventArgs e)
{
string URL = "AuthorName=" + Server.UrlEncode(Textbox1.Text);
URL += "Title=" + Server.UrlEncode(Textbox2.Text);
Response.Redirect("Search.aspx?" + URL);
}
}
四、第一個asp.net程序
1、打開VS2010,新建一個asp.net網(wǎng)站,如下圖:
2、 在這個應用中添DAL、BLL層,在解決方案中右擊-〉添加-〉新建項目,完成后如下圖:
由圖可以知到,一個項目應有樣式、腳本,母版等,當然用VS2010建的一個項目用了Membership,我重來沒有用過。還是自已寫好。
總結
那些年看了很多書,到現(xiàn)在也許都忘了一些,此文以記憶那些看書的日子。
您可能感興趣的文章:- ASP.NET預備知識學習筆記
- Asp.net回調(diào)技術Callback學習筆記
- 那些年,我還在學asp.net(一) 學習筆記
- asp.net Linq to Xml學習筆記
- ASP.NET MVC學習筆記
- asp.net自定義控件代碼學習筆記
- asp.net基礎學習之前端頁面布局
- asp.net基礎學習之控件的使用方法
- ASP.NET與MySQL數(shù)據(jù)庫簡明圖示入門教程
- 值得收藏的asp.net基礎學習筆記