gpt4 book ai didi

asp.net - 获取页面名称的更好方法

转载 作者:行者123 更新时间:2023-12-02 04:02:57 31 4
gpt4 key购买 nike

我使用它来获取当前页面名称..因此它返回例如 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 对象或访问文件系统。只需使用 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);
}
}
}

如果您想获取当前正在执行的页面的完全限定(或“root”)路径,您可以使用 Server.MapPath像这样:

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

使用 AppRelativeVirtualPath 的优点是即使在使用 URL 重写时也能正常工作,而且由于它不使用 Request.Url(由用户提供),因此您不必担心潜在的恶意数据。

关于asp.net - 获取页面名称的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1874532/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com