最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IsPostBack原理的介紹

 更新時(shí)間:2013年04月15日 17:15:40   作者:  
本篇文章,小編將為大家介紹,關(guān)于IsPostBack的原理,有需要的朋友可以參考一下

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

一步一步讓你看明白。。

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

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

1.asp.net頁(yè)面

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

復(fù)制代碼 代碼如下:

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

復(fù)制代碼 代碼如下:

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

2.html頁(yè)面
--------------------------------------------------------------------------------

(1)由于是純粹的html頁(yè)面,即便點(diǎn)擊提交也無(wú)法,回發(fā)數(shù)據(jù),也就是html頁(yè)面無(wú)法獲取回發(fā)過(guò)來(lái)的值。所以ispostback為false。

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

復(fù)制代碼 代碼如下:

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

復(fù)制代碼 代碼如下:

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

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

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

復(fù)制代碼 代碼如下:

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

復(fù)制代碼 代碼如下:

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

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

相關(guān)文章

最新評(píng)論

安新县| 阜南县| 河北省| 壶关县| 颍上县| 南川市| 汉寿县| 柳江县| 新乡市| 大庆市| 会宁县| 三穗县| 兴业县| 阳春市| 浠水县| 平度市| 达日县| 府谷县| 方正县| 黔西县| 综艺| 洪湖市| 隆林| 新乡市| 烟台市| 平泉县| 土默特左旗| 靖西县| 罗田县| 遂昌县| 武城县| 南阳市| 棋牌| 富宁县| 安岳县| 磐安县| 准格尔旗| 宝清县| 莱阳市| 杭锦旗| 东兴市|