2012-07-05 76 views
0

我正在閱讀教科書「Sams ASP.NET 4解鎖」,並且我對於ASP.NET的TextChanged屬性和AutoPostBack屬性之間的區別感到困惑TextBox控件。關於ASP.NET TextBox控件的TextChanged屬性和AutoPostBack屬性之間的區別

該書介紹了這兩個屬性:

的AutoPostBack - 使您能夠自動發佈包含文本框後面 到服務器時,文本框的內容是 改變形式。

然後,

在服務器上框TextChanged募集當文本框的內容是 改變。

然後繼續解釋:

當AutoPostBack屬性的值爲true,含 形式的文本框會自動回發到服務器時的文本框的變化 內容。如果修改 文本框的內容並將其從TextBox控件中取出,表單會自動返回到服務器 ,並顯示TextBox的內容。

該行迷惑我,這是一個:

你甚至可以處理TextChanged事件,當你不使用 AutoPostBack屬性。

那麼,Autopostback屬性和textchanged屬性之間的區別是什麼,導致頁面被重新發布到服務器?還是說這兩種方法的工作各不相同?我很困惑..請幫助我更好地理解它。

回答

4

即使不使用AutoPostBack屬性,也可以處理TextChanged事件。

是的,的確如此。即使不立即回發,您也可以在服務器的下一次往返中處理TextChanged事件。

  • 所以,當你處理該事件,並AutoPostBack設置爲true,回傳將會立即發生和框TextChanged事件引發。
  • AutoPostBack設置爲false,你反正可以在下一回發處理事件(FE按鈕點擊)

是什麼AutoPostBack屬性之間和框TextChanged財產雙方的差異導致頁面要再次發佈到服務器

所以大膽印刷是完全錯誤的。 區別在於,它控制回發行爲,其他註冊事件處理程序。

1

回發完成後,TextChanged將被引發到自頁面。加載循環後,引發此事件。這意味着TextChanged在兩次回發之間引發。

AutoPostBack屬性激活回發,當文本框的內容被改變並從該文本框中聚焦出來時。在發生回發之後,頁面被定向到自我。然後再次發生Load循環TextChanged事件後。

另外TextChanged是'事件'不屬性。

0

?什麼是錯誤的最初檢查爲什麼「Page_Load()」被稱爲(再次或不) 在「Page_Load()」爲什麼不測試像: ================ ======= =====

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { /* 'saying' - if 1st time through Page_Load() */ 

    } 
    else 
    { /* = 'saying' else reason is more common Page being Post-ed to SERVER */ 

    } 
} /* end method 'Page_Load()' */ 

========== ============ ==========================

相關問題