那些年,我還在學(xué)習(xí)asp.net(二) 學(xué)習(xí)筆記
那些年,我還在學(xué)習(xí)asp.net(二)
那些年覺得看視頻是很輕松的了解一個東西,但是這樣的不足就是感覺太慢了,沒有看書來得快,所以在有了一些了解后,還得看點書,也許書上的不一定好,但書上會把每一個應(yīng)該說到的地方說到,好有個初步的認(rèn)識。比如說.NET平臺、組件等知識的介紹,所以,那些年就開始了asp.net方面的進一步學(xué)習(xí)。
一、學(xué)習(xí)asp.net的準(zhǔn)備知識
正如我前面那些年所學(xué)習(xí)的,在開始之前得對它們有一定的認(rèn)識:
1、 html語言的基本使用
2、 CSS+DIV的學(xué)習(xí),撐握基本的布局
3、 Javascript基礎(chǔ)。在初期,特別是對DOM的操作。
4、 了解asp.net的基本控件的使用
二、開始學(xué)習(xí)asp.net
1、.NET平臺中的一些概念,比如說:CLR(公共語言運行時)、IL(微軟中間語言)、JIT(即時編譯器)、CTS(通用類型系統(tǒng))、CLS(公共語言規(guī)范)以及.NET FrameWork等,當(dāng)然還得知道.NET的體系結(jié)構(gòu),如圖:

(此圖來自網(wǎng)上51cto)
2、asp.net頁面請求響應(yīng)機制與HTTP協(xié)議是必須了解的。HTTP是一個無狀態(tài)的協(xié)議,全名叫超文本傳輸協(xié)議,也就是說在瀏覽器與服務(wù)器之間是以html文件形式傳輸?shù)?,?dāng)用戶通過瀏覽器向WEB服務(wù)器以URL的形式請求一個頁面時,WEB服務(wù)器處理用戶的請求,返回一個WEB頁面給瀏覽器展示給用戶,這個過程完成后瀏覽器與WEB服務(wù)器就不在有關(guān)系了;基于這個過程,asp.net的請求響應(yīng)也很相似,當(dāng)瀏覽器請求WEB頁面時,WEB服務(wù)器處理這個請求,尋找是否有請求的頁面,從而定位這個文件,若是以.aspx的文件,WEB服務(wù)器會把請求交給asp.net的CLR,編譯執(zhí)行,并從數(shù)據(jù)庫取后請求的數(shù)據(jù)后,生成一個html文件,發(fā)送給瀏覽器。這里還有一些概念:
動態(tài)頁面:簡單的說就是所請求的頁面是通過從數(shù)據(jù)庫讀取數(shù)據(jù)生成的頁面,服務(wù)器上不存在的這樣一個文件。
靜態(tài)頁面:簡單的說就是服務(wù)器上有這樣一個文件,比如404頁面
B/S:指的是瀏覽器與服務(wù)器的方式
C/S:指的是客戶端與服務(wù)器的方式
三、Asp.net的基礎(chǔ)
1、 內(nèi)置對象,asp.net中有很多內(nèi)置對象,它們發(fā)揮了相當(dāng)大的作用,下面就選幾個常用的來說說吧。
Request對象:請求對象,是HttpRequest類的實例,是自動創(chuàng)建的,可以用于獲得用戶在瀏覽器提交的數(shù)據(jù)以及一些HTTP信息,常用的屬性有:Cookies、Files、Form、Params、QueryString等,還有一些方法,如:MapPath、SavaAs等;
Response對象:響應(yīng)對象,是HttpResponse類的實例,也是自動創(chuàng)建的,同樣有很多屬性(Cache、Cookies等)與方法(Redirect、Write等);
Session對象:會話對象,當(dāng)一個用戶打開網(wǎng)頁時,那么服務(wù)器中就會有一個會話,保存當(dāng)前用戶的一些信息,當(dāng)用戶退出或關(guān)閉瀏覽器時,會話就消失;常用于保存用戶狀態(tài),如登錄、購物車等;使用方法以鍵/值對的形式,如Session[“KEY”]=Value;
Application對象:是一個全局的,在應(yīng)用程序內(nèi)的狀態(tài),從應(yīng)用的開始運行,直到應(yīng)用的結(jié)束,使用方法同Session;
2、母版頁,這可是個好東西,在上網(wǎng)時,經(jīng)常會發(fā)現(xiàn)一些網(wǎng)站的頭尾是一樣的,或是某個版塊沒有變過,每個頁面都有,那么,這就可以用到母版頁來實現(xiàn)。在asp.net中,母版頁是一個以.master結(jié)尾的文件,其中有一個占位的控件,用來表示子頁顯示的地方,代碼如下:
<%@ 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>無標(biāo)題頁</title></head>
<body>
<form id="form1" runat="server">
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
//子頁
</asp:ContentPlaceHolder>
</form>
</body>
</html>
3、 自定義用戶控件,是一個以.ascx結(jié)尾的文件,里面存放的是一些html和asp.net的服務(wù)器控件,當(dāng)然還有一個代碼文件,是一個繼承自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">
標(biāo) 題:<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、 在這個應(yīng)用中添DAL、BLL層,在解決方案中右擊-〉添加-〉新建項目,完成后如下圖:

由圖可以知到,一個項目應(yīng)有樣式、腳本,母版等,當(dāng)然用VS2010建的一個項目用了Membership,我重來沒有用過。還是自已寫好。
總結(jié)
那些年看了很多書,到現(xiàn)在也許都忘了一些,此文以記憶那些看書的日子。
- ASP.NET預(yù)備知識學(xué)習(xí)筆記
- Asp.net回調(diào)技術(shù)Callback學(xué)習(xí)筆記
- 那些年,我還在學(xué)asp.net(一) 學(xué)習(xí)筆記
- asp.net Linq to Xml學(xué)習(xí)筆記
- ASP.NET MVC學(xué)習(xí)筆記
- asp.net自定義控件代碼學(xué)習(xí)筆記
- asp.net基礎(chǔ)學(xué)習(xí)之前端頁面布局
- asp.net基礎(chǔ)學(xué)習(xí)之控件的使用方法
- ASP.NET與MySQL數(shù)據(jù)庫簡明圖示入門教程
- 值得收藏的asp.net基礎(chǔ)學(xué)習(xí)筆記
相關(guān)文章
AjaxControlToolKit DropDownExtender(下拉擴展控件)使用方法
由于工作的需要,使用了這個控件 挺簡單,使用這個擴展控件能輕松的吧 Label 控件 TextBox控件擴展成類似DropDownList控件的功能。這樣使用既可以使用label控件或者textBox控件的一些屬性又能實現(xiàn)dropDownList的功能。2008-10-10
.Net結(jié)構(gòu)型設(shè)計模式之組合模式(Composite)
這篇文章介紹了.Net結(jié)構(gòu)型設(shè)計模式之組合模式(Composite),文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05
詳解Asp.net 5中的ApplicationBuilder
這篇文章介紹了Asp.net 5中的ApplicationBuilder,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-01-01
ConfiguraionSource節(jié)點及多個配置文件的應(yīng)用
ConfiguraionSource節(jié)點及多個配置文件的應(yīng)用...2007-01-01
ASP.Net?Core?MVC基礎(chǔ)系列之環(huán)境設(shè)置
這篇文章介紹了ASP.Net?Core?MVC環(huán)境設(shè)置的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02

