日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁編程開發(fā)ASP.NET → ASp.NET開發(fā)之IsPostback的原理

      ASp.NET開發(fā)之IsPostback的原理

      相關軟件相關文章發(fā)表評論 來源:西西整理時間:2012/5/30 11:47:10字體大小:A-A+

      作者:佚名點擊:49次評論:2次標簽: ASp.NET

      • 類型:源碼相關大。23KB語言:中文 評分:5.0
      • 標簽:
      立即下載

      一步一步讓你看明白。。

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

      1.asp.net頁面

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

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

      2.html頁面

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

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

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

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

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

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

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

        相關評論

        閱讀本文后您有什么感想? 已有人給出評價!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(2)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)