代码之家  ›  专栏  ›  技术社区  ›  Bastien Vandamme

是否有方法来检索类的文件名?

  •  4
  • Bastien Vandamme  · 技术社区  · 14 年前

    是否有方法来检索类的文件名?

    具体来说,我想在基类(base page)中创建一个静态方法(createLink),以自动返回被调用页的路径和文件名。

    我在.c_asp.net中编码

    private const string TEMPLATE =
        "~/One.aspx";
    
    public static HyperLink CreateLink()
    {
        HyperLink link = new HyperLink();
        link.Text = "Click here";
        link.NavigateUrl = String.Format(TEMPLATE);
        return link;
    }
    

    是否可以避免使用模板硬编码变量?是否可以从文件名和位置检索one.aspx路径?

    3 回复  |  直到 14 年前
        1
  •  6
  •   SLaks    14 年前

    您可以通过检查来获取当前请求的页面路径 HttpContext.Current.Request.Path .

        2
  •  2
  •   Anirudh Goel    14 年前

    你说的类名是什么意思?您需要从给定路径获取文件名吗?试试这个

    Path.GetFileName(HttpContext.Current.Request.Path)
    
        3
  •  1
  •   Matthew Dresser    14 年前

    要使用反射获取实际的代码隐藏文件名,可以使用以下方法:

    using System.Diagnostics;
    
    StackTrace stackTrace = new StackTrace(true);
    StackFrame frame = stackTrace.GetFrame(0);
    string s = frame.GetFileName();