3

URL が与えられた場合、その URL に存在するページの Type が何であるかを知ることができなければなりません。たとえば、いくつかのページがあるとします。

//first.aspx
public partial class FirstPage : System.Web.UI.Page { }

//second.aspx
public partial class SecondPage : MyCustomPageType { }

次の結果で次の方法でメソッドを呼び出すことができるようにしたいと思います。

GetPageTypeByURL("first.aspx");     //"FirstPage"
GetPageTypeByURL("second.aspx");        //"SecondPage"

これは可能ですか?これどうやってするの?

4

4 に答える 4

5

この回答から、特定のページのクラスを取得できるようです。その後、リフレクションを使用してその基本型を決定できる場合があります。(注:私はこれを試みていません。これは単なる提案です。)

System.Web.Compilation.BuildManager.GetCompiledType(Me.Request.Url.AbsolutePath)
于 2012-05-10T19:51:20.690 に答える
1

これはどうですか?

public Type GetPageTypeByURL(string url)
{
    object page = BuildManager.CreateInstanceFromVirtualPath(url, typeof(object));
    return page.GetType().BaseType.BaseType;
}

使用法:

Type pageType = GetPageTypeByURL("~/default.aspx");
于 2012-05-10T20:24:45.527 に答える
0

ちょっと考えてみてください。他のプログラムからページを呼び出していると思います。HTML を取得し、ページが何であるかを示す際立った HTML / 非表示要素を検索します。サーバー上にいる場合は、ページをテキスト ファイルとして読み込んで読むだけです。

于 2012-05-10T19:58:21.950 に答える