gpt4 book ai didi

c# - 为什么这个 url 的最后一部分对于 ASP.NET webforms 不是空的?

转载 作者:行者123 更新时间:2023-11-30 23:23:32 24 4
gpt4 key购买 nike

为什么这个url的最后一部分不是空的?当我访问我的网站时,default.aspx 会自动加载但不会出现在 url 中。我使用 url 来突出显示我网站上的菜单,所以当您第一次访问该网站时,这不起作用。

这是我制作菜单项的代码:

string url = HttpContext.Current.Request.Url.ToString();

// Get last part of the URL
string path = url.Split('/').Last();

if (path == menuPath || ((path == "default.aspx" && i==0) || (path == "" && i==0 )))
panel.Controls.Add(new LiteralControl("<a class='active' href='/" + menuPath + "'>"));
else
panel.Controls.Add(new LiteralControl("<a href='/" + menuPath + "'>"));

你会认为,如果 url 是:http://example.com/路径变量将是“”然后它应该让类(class)活跃吗?现在这不起作用,我不知道为什么。

如果遇到此问题,请确保 url 是小写的!此建议归功于 Ron C

最佳答案

问题是 HttpContext.Current.Request.Url.AbsoluteUri 包含完整的绝对 url,甚至包括协议(protocol)。因此,如果您在调试器中将鼠标悬停在它上面,当您在浏览器中访问 example.com/时,您会看到它包含“http://example.com/default.aspx”。

您需要更新您的代码以适应这种情况,或者选择一个不同的 HttpContext.Current.Request.Url 属性来使用。您可以通过在调试器中将鼠标悬停在该 var 上并展开小三角形来查看其所有属性来检查所有可用属性。

关于c# - 为什么这个 url 的最后一部分对于 ASP.NET webforms 不是空的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38329225/

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