淺談asp.net頁面執行機制_.Net教程
推薦:.NET中的Server push技術今天突發奇想,想研究一下服務端內容有變化,如何引起客戶端的改變。 一般來說方法有2種,一種就是客戶端用JS異步定時輪詢服務器端,這種是大部分人采用的方法,但是我在想到底可以不可以實現服務器端有改變時才會主動推送到客戶端呢?按理來說這種方式對于B
以前一直不太理解asp.net頁面的執行機制,所以有些程序其實寫的是錯誤的。昨晚在修改自己以前寫的小程序時才發現自己的理解太膚淺....
1. 不用濫用static變量
static變量在應用程序的生命周期內都存在,而且所有用戶共享.所以給一個頁面添加一個靜態變量,可以導致多個用戶使用的時候互相影響。程序發生紊亂
2.不管是不是postback 每次請求一個頁面都會導致該頁面類重新實例化一次,page_load的時候可以用ispostback來控制那些只需要第一次執行....if(ispostback) {} 這里面的只有在頁面回發的時候才執行,一般來說就是第一次 不執行。if(!ispostback) { } 這里面的就是第一次才執行。在該頁面的生存期內只執行一次.
3.http協議是無狀態的,所以postback的時候,控件的狀態和值都保存在VIEWSTATE中....
4.頁面類中的變量在postback的時候因為沒有存入viewstate 所以會丟失.....
public partial class test2 : System.Web.UI.Page
{
int i;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
i = 10;
}
第一次輸出的是10,因為在(!IsPostBack)賦值了....頁面上再放個按鈕激發回發事件就輸出0.因為回發的時候重新實例化頁面類丟失了
}
分享:教你如何入門ASP.NET數據庫編程因為Access并不真正為高性能應用程序服務,所以一個希望有多個同時連接用戶的站點必須部署一個比Access更適合的數據源。本文將講述如何從Microsoft SQL Server(一種企業級RDMS)中獲取數據。 SQL Server完全版包括了三個部分。第一個是引擎,用于實際組織數據
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發送Email實例(可帶附件)
- js實現廣告漂浮效果的小例子
- asp.net Repeater 數據綁定的具體實現
- Asp.Net 無刷新文件上傳并顯示進度條的實現方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數據庫(連接字符串的配置及獲取)
- asp.net頁面傳值測試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現分頁示例代碼
- 相關鏈接:
- 教程說明:
.Net教程-淺談asp.net頁面執行機制。