1. 嵌入式代碼編寫
1.1 頁面中,<div id="Rest" runat="server"></div>
1.2 Head標籤中
<script language="c#" runat="server" >
void Button1_Click(Object Src, EventArgs E) //注意函數寫法
{
Rest.InnerHtml = "歡迎光臨" + txtName.Text;
}
</script>
2. ASP.NET內建對象和配置
2.1 Response對象
Response.Write(string str); //寫用戶端
Response.Redirect(string Url); //重新導向跳轉
Response.End(); //終止指令碼
Response.Flush(); //清空緩衝
Response.Clear(); //清除緩衝區流中的所有內容輸出
Response.Close(); //關閉到用戶端的通訊端串連
Response.Cookies.Add(); //要添加到集合中的httpcookie
//執行個體
HttpCookie myCookie = new HttpCookie("mycookie");
DateTime now = new DateTime();
myCookie.Value = now.ToString();
myCookie.Expires=now.AddHours(1);
Response.Cookies.Add(myCookie);
2.2 Request對象
用來擷取用戶端在請求一個頁面或者傳送一個Form時提供的所有資訊,包括能夠標識瀏覽器和使用者的HTTP變數,儲存在用戶端的cookie資訊以及附在URL後面的URL參數,表單中的控制項的值等。
Request.QueryString["id"]; //URL參數
Request.UserHostAddress.ToString(); //IP
Request.RawUrl.ToString(); //當前請求的原始URL
Request.UserHostName; //遠程主機名稱
Request.IsLocal.ToString(); //是否是本機電腦
Request.MapPath(string strFileName); //獲得檔案在伺服器的實體路徑
Request.Form["id"]; //表單內容
2.3 Server對象
對伺服器上的方法和屬性進行訪問,擷取有關最新錯誤的資訊
Server.MachineName; //伺服器的電腦名稱
Server.ScriptTimeout; //擷取和佈建要求的逾時值
Server.ClearError(); //清除前一個異常
Server.Execute(); //在當前請求的上下文中執行指定資源的處理常式,然後將執行返回給調用它的頁
Server.UrlEncode(string str);
Server.UrlDecode(string str);
2.4 Application對象
不直接參与請求和響應的管理,而是在服務端對使用者會話、服務狀態進行處理。
Application對象可以再多個請求、串連之間共用公用資訊,也可以在各個請求串連之間充當資訊傳遞的管道。
在整個應用程式生命週期內,Application對象都有效,所以可以在不同的頁面中對它進行存取,就像是用全域變數。
Application.Lock();//解鎖
Application.Add("AppName0","abc");
Application.Add("AppName1",123);
for (int i = 0; i < Application.Count; i++)
{
Response.Write(Application[i]); //擷取對象
Response.Write(Application.Get(i)); //擷取對象
Response.Write(Application.GetKey(i)); //擷取對象名
}
Application.Clear(); //清空
Application.UnLock(); //解鎖
2.5 Session對象
為目前使用者會話提供資訊,瀏覽器與伺服器建立串連時,開始建立會話
Session.Count; //工作階段狀態集合的項數
Session.Abandon(); //終止會話
Session.Add(string str,object value); //添加sesson變數
Session.Clear(); //清空
Session.Remove(string str); //移除
Session.Timeout=1;
3. Web.config設定檔
XML文字檔,用來儲存應用程式配置資訊,建立一個應用程式後,預設會在根目錄自動建立一個預設的Web.config檔案,所有子目錄繼承它的設定,如果要改變子目錄的配置,可以在子目錄建立一個Web.config檔案。
4.控制項
ASP.NET中的控制項分為:HTML控制項、伺服器控制項。伺服器控制項又分HTML伺服器控制項,ASP.NET Web伺服器控制項和驗證控制項。
HTML控制項可以分為HTML輸入控制項和HTML容器控制項,所有控制項都有Disabled、Visible等屬性,容器控制項則還有InnerHtml、Value等屬性
1.HTML伺服器控制項
我們知道HTML標籤,比如<input type="text" onClick="btnSubmit_Click" />就是一個文字框標籤,在ASP.NET中,這種標籤稱作“HTML控制項”。ASP.NET不會對這種控制項做任何處理,但我們可以把它轉化為HTML伺服器控制項,轉化後的HTML控制項的代碼是:<input id="Text1" type="text" runat="server" onServerClick="btnSubmit_Click" />.可以發現,它增加了一個id的屬性和runat="server"的屬性
。這樣就可以通過編程的方式訪問和控制該控制項。任何HTML控制項加上runat="server"的屬性,都可以轉換成HTML伺服器控制項(最好也加上ID屬性,不管用不用得上)。控制項的響應事件也有所不同
2.Web伺服器控制項(標準控制項)
Web伺服器控制項的標籤都是以“asp:”開頭,稱為標記前輟,後面是控制項類型,另外Web伺服器控制項也都有id屬性和預設的runat="server"的屬性,該runat屬性也不能忽略不寫,否則控制項會被忽略,例如<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
WEB伺服器控制項可以沒有對應的HTML元素,它可以表述更為複雜的元素,被定義為抽象控制項
那麼什麼時候用HTML控制項,什麼時候用標準控制項呢?一般要在後台引用的就用伺服器端控制項,不然就用html控制項;能不用伺服器端控制項盡量不用 ,能用html控制項就不要用web控制項 。
3.驗證控制項
控制項中包含驗證邏輯以測試使用者輸入,開發人員可以將驗證控制項附加到輸入控制項,測試使用者對該輸入控制項輸入的內容。
執行個體1:
<asp:Button ID="Button1" runat="server" Text="Button"></asp:Button>
Button1.Attributes.Add("onclick", "confirm('提示資訊')");
Button1.Attributes.Remove("onclick");
5.控制項的一些屬性
AccessKey屬性:快速鍵 AccessKey ="k";
TabIndex屬性:Tab鍵順序
TextBox控制項
AutoPostBack屬性:當TextBox控制項失去焦點時是否AutoPostBack到伺服器的操作。
TextMode屬性:SingleLine、MultiLine、Password
ToolTip屬性:協助文本