我們如何避免主頁回發整個頁面?主頁和在ASP.NET中回發
回答
Master Page不負責PostBack,這就是HTML表單的用途。
阻止頁面回傳的唯一方法是將整個事件包裝到UpdatePanel中。但是,這本身是一個非常糟糕的主意!
您可以添加一個解釋,爲什麼使用UpdatePanel是一個壞主意?我可以想到一些,但它可能有助於OP瞭解更多關於UpdatePanel如何工作的信息 – 2008-12-23 10:55:30
我認爲這裏的問題是:提問者只想發佈內容頁面而不是主頁面。但不知道。 但我想知道如何做到這一點。 – IsmailS 2009-11-06 07:06:14
使用母版頁並不影響整個頁面是否回發。沒有主標準和標準的簡單ASPX頁面也會完成整個頁面回發。
雖然在各行之間進行閱讀,但我猜測您的母版頁上已經有一些UpdatePanels(可能圍繞着內容佔位符),這會阻止整個頁面在其中的內容導致回發時刷新。
無論哪種方式,防止整頁刷新(不管是否使用母版頁)的關鍵是確保導致回發的控件在UpdatePanel內部生存或使用一些JavaScript回調到服務器並處理反應異步。
只是澄清 - 更新面板不會阻止整頁回發或整頁生命週期。它只是導致該過程在用戶看不見的背景下完成。唯一的區別是,回發完成後,只有由更新面板聲明包裝的部分纔會刷新,從而導致只有部分頁面被回傳的錯覺。
如果觸發器控件位於updatepanel內,那麼您應該將ChildrenAsTriggers屬性設置爲True。如果觸發更新的控件位於更新面板之外,則應將觸發器部分添加到控制面板並添加一個異步觸發器。如果它是一個組合,那麼你可以將兩者結合起來以達到最佳效果。
如果觸發更新的控制都包含在更新面板內:
<asp:UpdatePanel id="MyUpdatePanel" runat="server" ChildrenAsTriggers="True">
<ContentTemplate>
...Stuff you want updated
</ContentTemplate>
</asp:UpdatePanel>
或者如果控制不包含在更新面板內:
<asp:UpdatePanel id="MyUpdatePanel" runat="server">
<ContentTemplate>
...Stuff you want updated
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="MyButtonControl" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
- 1. ASP.NET鎖定屏幕回發(主頁)
- 2. 主頁在ASP.Net
- 3. asp.net中的主頁和內容頁面?
- 4. ASP.Net和回發
- 5. ASP.NET主頁中的PreRender沒有觸發
- 6. jQuery.validate.js和asp.net主頁面
- 7. ASP.NET主頁和容器
- 8. 跨頁回發會話asp.net
- 9. 在Asp.NET主頁中初始化頁面
- 10. 如何保持在asp.net頁面回發
- 11. 如何防止在asp.net中主頁上的菜單控件回發?
- 12. ASP.Net主頁面和頁面狀態
- 13. ASP.NET母版頁回發不從網頁
- 14. 頁面回覆在asp.net中?
- 15. 在asp.net 2.0中使用JavaScript創建主頁和內容頁面
- 16. ASP.NET - 從iframe返回主頁面的值
- 17. 在gridview中的Asp.net回發
- 18. 在ASP.NET中跟蹤回發
- 19. 在ASP.NET中回發問題
- 20. ASP.NET MVC中的主頁
- 21. ASP.NET中的主頁面
- 22. Asp.net中的主頁錯誤
- 23. 主頁無法在C#中加載ASP.Net發佈
- 24. ASP.NET AJAX回發和jQuery
- 25. 在ASP.NET主頁中使用多個contentPlaceHolders
- 26. 在asp.net中使用JQuery主頁面
- 27. 在VB中的ASP.NET主頁> NET
- 28. 在ASP.NET主頁中更改控件
- 29. 在asp.net MVC中獲取主頁名稱
- 30. 在Asp.Net中設置「主頁」MVC
你可能想澄清你真的想做。 1行問題*不是很好的答案 – 2008-12-23 09:52:24