没有Page的ASP.NET IsPostBack

时间:2015-06-23 20:55:46

标签: c# asp.net

有没有办法可以在不使用Page对象的情况下找回页面。我想知道页面是否已经回传而没有将参数传递给函数,就像你可以使用httpContext.Current.Request检查Request对象,是否有一个Page等效?检查发生在库函数中吗?

3 个答案:

答案 0 :(得分:2)

如果您只是试图避免使用Page属性而不是Page类,则可以在标准页面请求的上下文中将HttpContext.Current.Handler强制转换为Page对象。

答案 1 :(得分:2)

这是另一种技术。您可以从HttpContext获取Page,并检查其IsPostBack方法。这样您就不必将页面或IsPostBack标志传递给辅助函数。

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

答案 2 :(得分:1)

是的

  1. 检查HTTP动词是否为POST
  2. 检查Forms集合中是否存在与“__PREVIOUSPAGE”相关联的值
  3. 另见here