我在ASP.net工作與.NET Framework 2.0和VS 2008 Team System中Asp.net Ajax和母版頁
我有一個母版頁頁面和n內容頁數。在母版頁上我放了一個ScriptManager標籤,並在內容頁面上有一個UpdatePanel。但是每當按鈕點擊等事件從內容頁面觸發時,整個頁面都會後備。我如何解決這個問題?
我在ASP.net工作與.NET Framework 2.0和VS 2008 Team System中Asp.net Ajax和母版頁
我有一個母版頁頁面和n內容頁數。在母版頁上我放了一個ScriptManager標籤,並在內容頁面上有一個UpdatePanel。但是每當按鈕點擊等事件從內容頁面觸發時,整個頁面都會後備。我如何解決這個問題?
這取決於你如何設置你的UpdatePanel。
看,關鍵的事情是:
UpdateMode
財產。例如ChildrenAsTriggers
屬性,如果您只需要將面板更新爲單個按鈕即可:
UpdateMode=Conditional
ChildrenAsTriggers=False
或者,如果你想在面板中的所有控件觸發局部回傳,然後只設置ChildrenAsTriggers=True
並且不使用觸發器集合。
This MSDN article更詳細地描述了上述特性。
您可以通過GetCurrent()方法訪問頁面的ScriptManager對象。
該代碼訪問的ScriptManager在從內容頁主頁(添加一個按鈕控制btnSubmit按鈕作爲異步控制):
protected void Page_Load(object sender, EventArgs e)
{
ScriptManager _scriptMan = ScriptManager.GetCurrent(this);
_scriptMan.RegisterAsyncPostBackControl(this.btnSubmit);
}
但是,我會簡單地從母版移動的ScriptManager於每個內容頁因爲那樣你就不必這樣做了。