程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> 利用Page.IsPostBack屬性保持用戶輸入的Framework

利用Page.IsPostBack屬性保持用戶輸入的Framework

編輯:ASP技巧

利用Page.IsPostBack屬性保持用戶輸入的Framework
                             Batman
    在大型應用中考慮到用戶在進行大量輸入工作時候,有可能要遇到下面這種情況。
例如用戶輸入的信息中的某幾項信息檢測失敗,服務器不得不把用戶輸入的信息重新
返回給用戶修改。這時就需要服務器把前面用戶輸入的信息重新返回給客戶端,而不是
簡單的讓用戶再次重新輸入煩瑣的信息內容。
    在ASP+中,存在一種不同於以前的新的控件-服務器控件,它的原理是可以通過<Hidden>
元素中的信息保存用戶上次提交的信息,這個大家可以通過在浏覽器裡面vIEw source
看見服務器控件生成的客戶代碼便知。但是這裡面還存在一個問題,就是如果我的信息
是動態生成的話,一般就會在Page_Load事件中加入重新從數據庫中提取動態信息的列表
從而刷新那些動態改變的部分(一般是在下拉框的情況下),這樣就會導致<hide>的方法
失敗。
    其實ASP+還提供了一個專門用來提高性能的屬性,那就是Page.IsPostBack屬性。該屬性
用來判斷網頁是否是提交回客戶端本身。這樣用這個屬性結合服務器控件就可以完整的
保持住用戶輸入的所有信息了。
例子的Framework如下:

<%@ Import Namespace="MYCOM" %>
<Script Runat="Server">
  Sub Page_Load(Src as Object, E As EventArgs)
      dim myDataObj as new MYCOM.DataObj
          if Not Page.IsPostBack Then
               drpCategories.DataSource = myDataObj.CategorIEs()
               drpCategories.DataValueField = "FIEldName1"
               drpCategories.DataTextField = "FIEldName2"
               drpCategorIEs.DataBind()
          End if
  End Sub
  </Script>
  <form runat="Server">
  <ASP:DropDownList Id="drpCategorIEs" runat="Server" />
  <ASP:Button runat="Server" Text="查詢" />
  </form>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved