<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      IsPostBack原理詳解

      這個屬性相信大家一定經常用吧  判斷是否為回發 (切記這是判斷是否回發  而聽到很多人說這是判斷是否第一次加載頁面  還有的說是否為刷新 )

      很多人說做項目時  pageload事件里 都要加上

      protected void Page_Load(object sender, EventArgs e)
      {
      if (!IsPostBack)
      {

      }
      }

      但是確不太理解原因   說加上這個肯定沒錯 可是 上篇的例子里 不就錯了么? 所以 一定要理解原理~~

      為了把這個說清楚 這里不用asp.net頁面 用html+handler 一般處理程序來講清這個

      我先把代碼貼出來

      html的

      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      <title></title>
      </head>
      <body>
      <form action="Hello2.ashx" method="post">
      <input type="hidden" name="ispostback" class="night" value="true" />
      姓名:
      <input type="text" id="fasdfasd" name="UserName" value="@value" /><input type="submit" value="提交" />
      @msg
      </form>
      </body>
      </html>
      handler的
      public void ProcessRequest (HttpContext context) {
      context.Response.ContentType
      = "text/html";


      string username = context.Request["UserName"];
      string msg = "";
      string ispostback = context.Request["ispostback"];//
      if (ispostback=="true")//如果提交了這個參數則說明是提交表單進來的
      {
      context.Response.Write(
      "提交進入");
      msg
      = username + "你好";
      }
      else
      {
      context.Response.Write(
      "直接進入");
      username
      = "";
      msg
      = "";
      }
      string fullpath = context.Server.MapPath("Hello2.htm");//得到文件的全路徑
      string content = System.IO.File.ReadAllText(fullpath);//讀取文件
      content = content.Replace("@value",username);
      content
      = content.Replace("@msg", msg);
      context.Response.Write(content);
      }

      public bool IsReusable {
      get {
      return false;
      }
      }

      這個貼出來 相信大家一看就明白怎么回事了  我大概說下

      上來先運行 handler  因為第一次運行 

      context.Request["ispostback"]; 肯定是空的  所以直接進入  然后讀取html 把里面的內容輸出到頁面上  (占位符@value等 為了實現保存頁面狀態 模擬asp.net)

      這時點提交時 包括以后點提交時 因為有下面這句 所以
      ispostback一直就是true了
      <input type="hidden" name="ispostback" class="night"  value="true" />
      這也就造成很多人說 ispostback是 判斷是否是第一次進入 其實 你進入以后 點刷新 依然會發現 ispostback 不為true 因為并沒有提交實現一次回發

      這個說的有點亂了~~ 但是基本原理就這樣 希望對新手有幫助

      多看下上面的代碼 復制下來運行試試 就明白啦~ 不懂下面留言 歡迎討論


      這里補充下用途
      protected void Page_Load(object sender, EventArgs e)
      {
      if (!IsPostBack)
      {
      // 執行數據綁定 等
      }
      }
      在里面執行數據綁定 減少不必要的與數據庫交互

      如果不加這個判斷 當你點擊按鈕時 每次都是先執行Page_Load 再執行 事件的

      這就造成點一次 按鈕 執行下數據綁定 與數據庫交互很費資源

      但加上 這個判斷 則沒有這個問題了~~

      posted on 2011-06-28 11:26  wlf  閱讀(2061)  評論(12)    收藏  舉報

      主站蜘蛛池模板: 国产女精品视频网站免费| 国产AV巨作丝袜秘书| 国产办公室秘书无码精品99| 欧美午夜精品久久久久久浪潮| 亚洲高潮喷水无码AV电影| √8天堂资源地址中文在线| 久久国产精品老人性| 亚洲天堂亚洲天堂亚洲色图| 成在线人午夜剧场免费无码| 国产仑乱无码内谢| 亚洲国产精品午夜福利| 欧美黑人XXXX性高清版| 息烽县| 精品人妻中文字幕有码在线| 玩弄丰满少妇人妻视频| 欧美猛少妇色xxxxx猛叫| 天堂a无码a无线孕交| 久久综合免费一区二区三区| 欧美高清一区三区在线专区| 中国女人熟毛茸茸A毛片| 9lporm自拍视频区| 手机在线看片不卡中文字幕| 噜噜噜噜私人影院| 色欧美片视频在线观看| 亚洲 卡通 欧美 制服 中文| 中文字幕av一区二区| 欧美视频精品免费覌看| 亚洲欧美日韩成人综合一区 | 精品亚洲精品日韩精品| av午夜久久蜜桃传媒软件| 999精品色在线播放| 久热这里只有精品蜜臀av| 大尺度国产一区二区视频 | 人妻中文字幕亚洲精品| 亚洲国产欧美在线人成AAAA | 欧洲美熟女乱又伦免费视频| 日日碰狠狠躁久久躁96avv| 熟女精品色一区二区三区| 夜夜添狠狠添高潮出水| 激情伊人五月天久久综合| 国产成人综合久久亚洲av|