2015-06-23 36 views
3

有沒有一種方法可以找出頁面是否已被回發而不使用Page對象。我想知道頁面是否已經被傳回而沒有傳遞參數給函數,就像你可以通過使用httpContext.Current.Request來檢查Request對象,是否有一個頁面等價物?檢查發生在庫函數中?ASP.NET IsPostBack無頁面

+0

雖然你可以做到這一點,但你可能不想。這通常是代碼需要重構的一個標誌。 – moarboilerplate

回答

1

沒錯

  1. 檢查,看是否HTTP動詞是POST
  2. 檢查表格收集與 「__PREVIOUSPAGE」

又見here

2

如果相關的值'只試圖避免使用Page屬性,而不是Page類,那麼可以在標準頁需要的上下文中將HttpContext.Current.Handler強制轉換爲Page對象美東時間。

2

這是另一種技術。您可以從HttpContext獲取頁面,並檢查其IsPostBack方法。這樣你就不必將頁面或IsPostBack標誌傳遞給你的幫助函數。

void MyHelperFunction() 
{ 
    Page page = HttpContext.Current.Handler as Page; 
    bool isPostBack = (page != null) && (page.IsPostBack); 
}