2

これはばかげた質問かもしれませんが、私は混乱しています。
すべて.aspxのページは継承し System.Web.UI.PagePageクラスにはIsPostBackIsValid、などのいくつかのプロパティがIsCrossPagePostBackあります... これらのプロパティにアクセスするには、Page.IsPostBackorを記述しIsPostBackます。
さて、質問は、これらのプロパティですかstatic、そうでない場合、ファイルでこれらにアクセスする方法です。.apsxテストを試みましたclassが、成功しませんでした。

    public class clsDemo:System.Web.UI.Page
    {
    }  
4

1 に答える 1

1

ページクラスはクラスから派生しTemplateControlます。

public class Page : TemplateControl, IHttpHandler

TemplateControlクラスは抽象クラスから派生しますControl

public abstract class TemplateControl : Control, ...

ControlクラスがPage派生するクラスには、Pageという名前の仮想プロパティがあります。

    // Summary:
    //     Gets a reference to the System.Web.UI.Page instance that contains the server
    //     control.
    //
    public virtual Page Page { get; set; }

Pageクラスには、などのプロパティがありますIsPostBackIsValid

    // Summary:
    //     Gets a value that indicates whether the page is being rendered for the first
    //     time or is being loaded in response to a postback.
    //        
    public bool IsPostBack { get; }

したがって、

aspxページはクラスから派生しているため、Pageクラスも継承TemplateControlControlます。クラスには、クラスのプロパティにアクセスできるようにControlという名前のパブリックプロパティがあります。また、クラスにはなどのパブリックプロパティがあるため、プロパティからこれらのプロパティを使用できます。PagePagePageIsPostbackIsValidPage

public class Test : Page
{
    public Test()
    {
        bool test = this.IsCallback;
    }
}
于 2013-02-02T07:53:02.750 に答える