繁体   English   中英

使用后面的C#代码检查URL是否包含密钥,以便根据密钥是什么来更改页面标题

[英]Using C# code behind to check if the URL contains a key in order to change the page header depending on what the key is

我可以从站点的不同位置访问我的页面之一。 根据您的来源,URL中可能包含密钥。 因此,例如,单击page1.aspx上的按钮1会将您带到page3.aspx。 单击page2.aspx上的按钮2也将导致page3.aspx,但是页面加载后的最终URL将是page3.aspx?key = test,而当您单击page1.aspx上的按钮1时,URL就是page3的.aspx。

我想使用后面的代码更改page3.aspx上的标题。 如果page3.aspx上的URL包含密钥,则我希望页眉说“此密钥由于密钥而被修改”。 如果它不包含密钥,我希望它保留默认值。 默认为当前文本,例如“默认标题”。

到目前为止,我已经添加了将键添加到button href属性的代码。 页面1的按钮通向page3.aspx,页面2的按钮通向page3.aspx?key = test,并且两个页面都加载。 但是由于某种原因,我更改标头的代码无法正常工作。 这是我在Page_Load内部的内容:

if(!IsPostBack)
{
    if(Request.UrlReferrer != null && (Request.Url.AbsolutePath.ToLower().Contains("key=test")))
    {
        PageHeader = "This header modified due to key.";
    }
}

那没有用,所以我尝试将其从!isPostBack块中删除,然后将其放在Page_Load方法的开头。 我也尝试过执行Contains(“?key = ggg”),但这没什么不同。 我会感激任何朝着正确方向前进的人。

您可以使用Request.QueryString集合:

if(Request.QueryString["key"] != null)
  // do something here

要么:

if(!String.IsNullOrEmpty(Request.QueryString["key"])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM