2009年2月28日 星期六

ASP.NET 3.5 網站開發基礎-2

第二章:設計ASP.NET網頁

網頁模型(PageModel)
ASP.NET在2.0版本以後,提供了兩種預設的網頁設計模型:InLine & CodeBehind
我們公司開發模式習慣用CodeBehind將aspx與程式碼分離,並將InLine視為較舊的方式,
但事實上InLine提供了較直覺、且單檔易於維護的優點,很多程式設計師仍偏向使用它。
但對我而言,早已習慣程式碼分離模型,並將它視為理所當然。

網頁間的互相導向
1.超連結,不用多說,直接Request NavigateURL,走HPPT GET。
2.瀏覽器重新導向,Response.Redirect,當伺服器執行到此指令碼時,會Response回瀏覽器,由瀏覽器重新送出目的URL的Request,因此會做一次往返,而且網頁的URL會是目標網址。
3.伺服器重新導向,Server.Transfer,與瀏覽器重新導向相似,不同點在於不需做一次往返,由伺服器直接重導,網頁的URL會是原本的網址,而目的網頁限制於相同的Web應用程式中。
4.跨網頁POST,設定控制項的PostBackUrl屬性,與超連結不同的是,它會以HPPT POST的方式導向至目的網頁。

不同網站的網頁間傳遞值
QueryString,適用任何導向方式,直接依網址取得key、value值。
Form,當來源網頁使用跨網頁POST或是伺服器重新導向時,可利用來取得POST的內容

PreviousPage
網頁前置詞 "PreviousPageType VirtualPath='~/Default3.aspx'"
可由Page.PreviousPage取得來源網頁的public屬性。
Server.Transfer或PostBackUrl才會有PreviousPage。
if (Server.Transfer)
PreviousPage.IsCrossPagePostBack==True;
else if(PostBackUrl)
PreviousPage.IsCrossPagePostBack==False;
else
PreviousPage==null;

沒有留言:

張貼留言