国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net viewstate 回發(fā)機制

2024-07-10 12:42:23
字體:
供稿:網(wǎng)友
所謂回發(fā)機制,其實說白了就是自己發(fā)送給自己(本頁面)而已。下面我們新建一個網(wǎng)站,打開默認(rèn)添加的Default.aspx頁面,form部分代碼如下:
代碼如下:
<form id="form1" runat="server" >
<div>
</div>
</form>

  下面是運行頁面后的HTML代碼:
代碼如下:
<form name="form1" method="post" action="Default.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzgzNDMwNTMzZGSWiVUOl9W4QUXb+tXv2k5s4yXFog==" />
</div>
<div>
</div>
</form>

  我們可以看到原本空蕩蕩的form表單內(nèi)變得豐富起來,首先發(fā)生變化的就是form表單自身,<form id="form1" runat="server" >被解釋成了<form name="form1" method="post" action="Default.aspx" id="form1">,自動的給form1這個表單增加了action和method屬性,method默認(rèn)為post,action則指向頁面本身。另外一個發(fā)生變化的就是form1表單中增加了一個id="__VIEWSTATE" 的隱藏域,這就是我們要討論的ViewState
  我們再舉一個例子:這時,我們向頁面中添加一個Label一個TextBox還有一個Button代碼如下:
代碼如下:
<form id="form1" runat="server" >
<div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click"/>
</div>
</form>

  然后在Button1_Click中寫如下代碼:
代碼如下:
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text += "你好";
TextBox1.Text += "你好";
}

  好了,現(xiàn)在我們來給Button1增加一些點擊量,可以看到,Label控件和TextBox控件隨著我們點擊量的提高,其內(nèi)容也在不斷的變化,這種情況在Winform中非常常見,也很容易理解,可是ASP.NET是基于HTTP協(xié)議的,而HTTP協(xié)議是無狀態(tài)協(xié)議。也就是說,服務(wù)器有健忘癥,明明不久前剛剛給他發(fā)出過請求,創(chuàng)建了一個page對象,并做出響應(yīng)。但是第二次請求到達(dá)的時候,服務(wù)器已經(jīng)不認(rèn)識你了(服務(wù)器會創(chuàng)建一個全新的page對象,和之前那個沒有任何關(guān)系,再次給出響應(yīng))。在這種服務(wù)器有健忘癥的惡劣條件下,要達(dá)到Winform一樣的效果,真不是一件簡單的事情。
  我們給預(yù)編譯指令Page增加一個屬性EnableViewState="false"(禁用ViewState)之后,再重新運行頁面,繼續(xù)連續(xù)點擊Button1,看這下是什么效果?大家會發(fā)現(xiàn)Label控件效果沒有變化,但是TextBox控件內(nèi)容卻還在繼續(xù)發(fā)生著變化。這是什么原因呢?其實我們只要查看一下源代碼就會發(fā)現(xiàn):
代碼如下:
<div>
<span id="Span1">Label</span><br />
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 辽中县| 城口县| 洪湖市| 建昌县| 定日县| 五峰| 句容市| 辉县市| 道孚县| 社会| 长汀县| 穆棱市| 秦安县| 卓资县| 同德县| 盐亭县| 乳山市| 赤城县| 南雄市| 鹤庆县| 苏尼特左旗| 黑水县| 五峰| 陇川县| 阳江市| 德钦县| 梅州市| 宁远县| 昌宁县| 贺兰县| 隆昌县| 罗田县| 南昌市| 怀来县| 灵宝市| 龙门县| 尤溪县| 郑州市| 徐汇区| 固阳县| 教育|