asp.net如何检查用户是否在特定页面上?

时间:2011-02-04 14:48:00

标签: asp.net webforms

我想添加代码来检查用户是否在母版页_load事件中的default.aspx上。

如果请求的页面是default.aspx?

,如何检查母版页

4 个答案:

答案 0 :(得分:5)

您应该检查Request.Url.LocalPath哪个应该是“/default.aspx”或“/".

if (string.Compare(Request.Url.LocalPath,"/default.aspx") == 0 || string.Compare(Request.Url.LocalPath,"/") == 0)
{
    // your code
}

答案 1 :(得分:3)

您应该能够在Master中测试Page属性的类型。例如:

public partial class DefaultMaster : System.Web.UI.MasterPage
{

    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
        if(this.Page is DefaultPage) {
            ...
        }
    }

}

答案 2 :(得分:2)

你可能正在寻找

Request.Url


string currentUrl = HttpContext.Current.Request.Url.LocalPath;

if(currentUrl.EndsWith("default.aspx") || currentUrl.EndsWith("/"))
{
    DoSomething();
}

答案 3 :(得分:0)

我会用

if (Request.AppRelativeCurrentExecutionFilePath == "~/"
    || string.Equals(Request.AppRelativeCurrentExecutionFilePath, "~/default.aspx", StringComparison.CurrentCultureIgnoreCase))
{
    // ....
}

Request.AppRelativeCurrentExecutionFilePath 将忽略您的localhost,本地主机文件映射或虚拟目录名称,并返回相对于您的网站的文件路径,而 Request.Url.LocalPath 仍然包括虚拟目录。