【发布时间】:2021-08-15 18:39:24
【问题描述】:
我有一个页面http://localhost:65248/ZeroLabs/msg_preview.aspx。
我想获得http://localhost:65248/ZeroLabs 部分。
我的代码在这个页面运行Page_Load事件。
我没有在Request.Url 中找到任何好东西。
目前我用这个:
//http + :// + localhost:65248 + /ZeroLabs
string omg_wtf = Request.Url.Scheme + "://" + Request.Url.Authority + System.Web.Hosting.HostingEnvironment.ApplicationVirtualPath;
我觉得这不是我应该得到我想要的东西的方式。 请问有什么不那么丑的方法吗?
【问题讨论】:
-
嗯,
Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.LastIndexOf("/"))是不是更“丑”了?请客观、客观地定义“丑陋”。 -
@HereticMonkey - 嗯......我希望有一些单一的财产......但你的方式也不那么丑陋......或者如果我们有类似的东西
?asd=qwe/sdf......或者也许是的,如果我们不能在 AbsoluteUri 中拥有类似的东西...... -
很好奇你为什么想要它。通常,您可以只使用波浪号来构建资源路径。尽管here 有很多方法可以获取完整路径
-
@Nikki9696 - 我用它来连接代码中的其他页面名称。例如,我构建了一个存储在物理路径 (
string[] paths = Directory.GetFiles(path, "*.aspx")) 中的 *.aspx 页面列表,对应于http://localhost:65248/ZeroLabs,并将其提供给用户,以便他可以访问它们。这就像http://localhost:65248/ZeroLabs+/+ 路径[i]。
标签: asp.net