asp.net – 更好的方式来获取页面名称

前端之家收集整理的这篇文章主要介绍了asp.net – 更好的方式来获取页面名称前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用它来获取当前页面名称。这样返回例如MyPage.aspx
public string GetCurrentPageName()
{
    string urlPath = Request.Url.AbsolutePath;
    FileInfo fileInfo = new FileInfo(urlPath);
    string pageName = fileInfo.Name;
    return pageName;
}

必须有一个更简单的方法?意思是在.NET框架中必须有一个现有的方法属性

解决方法

解释问题的方式是检索当前正在执行的aspx页面名称(即System.Web.UI.Page)的有效方式。

如果这是真的,你不应该处理任何FileInfo对象或者点击filesytem。只需在页面对象上使用AppRelativeVirtualPath property

using System;
using System.IO;
using System.Web.UI;

namespace WebApplication1
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender,EventArgs e)
        {
            string pageName = Path.GetFileNameWithoutExtension(Page.AppRelativeVirtualPath);
        }
    }
}

如果您不能获得当前执行页面的完全限定(或“根”)路径,则可以使用Server.MapPath

string path = Server.MapPath(Page.AppRelativeVirtualPath);

使用AppRelativeVirtualPath即使在使用url重写时也可以使用,因为它不使用Request.Url(由用户提供),您无需担心潜在的恶意数据。

猜你在找的asp.Net相关文章