日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

IsPostBack原理的介紹_.Net教程

編輯Tag賺U幣

推薦:c#多圖片上傳并生成縮略圖的實例代碼
今天寫了一個上傳多張圖片并生成縮略圖的小程序。當然因為是菜鳥,所以寫的一般。但還是學到了不少東西�,F(xiàn)在上代碼。

IsPostback的原理
--------------------------------------------------------------------------------

一步一步讓你看明白。。

先說說吧,然后在上代碼。ispostback:就是判斷頁面是首次加載的,還是數(shù)據(jù)回發(fā)(有g(shù)et或者post請求過的)后的頁面。上代碼吧,直觀點。

--------------------------------------------------------------------------------

1.asp.net頁面

--------------------------------------------------------------------------------

復制代碼 代碼如下:www.hl5o.cn

<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
</form>
</body>

復制代碼 代碼如下:www.hl5o.cn

protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
Response.Write("這是回發(fā)后的頁面!"); //點擊button1控件后出現(xiàn)這個
}
else
{
Response.Write("這是首次加載的頁面!"); //第一次預(yù)覽出現(xiàn)這個
}
}

2.html頁面
--------------------------------------------------------------------------------

(1)由于是純粹的html頁面,即便點擊提交也無法,回發(fā)數(shù)據(jù),也就是html頁面無法獲取回發(fā)過來的值。所以ispostback為false。

--------------------------------------------------------------------------------

復制代碼 代碼如下:www.hl5o.cn

<form action="WebForm1.aspx" method="post">
<input id="Submit1" type="submit" value="submit" />
</form>

復制代碼 代碼如下:www.hl5o.cn

protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
Response.Write("這是回發(fā)后的頁面!");
}
else
{
Response.Write("這是首次加載的頁面!"); //第一次預(yù)覽出現(xiàn)這個,點擊submit控件后還出現(xiàn)這個
}
}

(2)這里加了一個隱藏的viewstate,回發(fā)過來的數(shù)據(jù)存放在viewstate,完成了數(shù)據(jù)回發(fā),ispostback的值也就為true。如果你疑惑如果下次還想要首次加載的數(shù)據(jù)怎么辦,我告訴你,下次讀取數(shù)據(jù)直接從viewstate中讀取,不用再次發(fā)出請求。

--------------------------------------------------------------------------------

復制代碼 代碼如下:www.hl5o.cn

<form action="WebForm1.aspx" method="post">
<input type="hidden" name="__viewstate" />
<input id="Submit1" type="submit" value="submit" />
</form>

復制代碼 代碼如下:www.hl5o.cn

protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
Response.Write("這是回發(fā)后的頁面!"); //點擊submit控件后又出現(xiàn)這個。
}
else
{
Response.Write("這是首次加載的頁面!"); //第一次預(yù)覽出現(xiàn)這個。
}
}

小結(jié):其是asp.net頁面中也有一個隱藏的viewstate字段,通過在頁面上查看源代碼就能看出來,一般為了減少服務(wù)器的壓力,我們通常會把viewstate禁用掉,那么將不會用到ispostback判斷是否是數(shù)據(jù)回發(fā)過的頁面,那將每次執(zhí)行以下后臺代碼,如果是讀取數(shù)據(jù)庫中的數(shù)據(jù),那么也將每次都要讀取一下,這里你可能會擔心數(shù)據(jù)庫的壓力過大,這里我們還有另外的解決辦法,而并非使用viewstate,那就是使用緩存技術(shù)解決這里的問題。

分享:.NET中 關(guān)于臟讀 不可重復讀與幻讀的代碼示例
本篇文章小編將為大家介紹,.NET中 關(guān)于臟讀 不可重復讀與幻讀的代碼示例,有需要的朋友可以參考一下

來源:模板無憂//所屬分類:.Net教程/更新時間:2013-04-22
相關(guān).Net教程