gpt4 book ai didi

asp.net - Asp.Net Razor 的 ResolveUrl/ResolveClientUrl 等价物?

转载 作者:行者123 更新时间:2023-12-03 10:56:51 27 4
gpt4 key购买 nike

所以我开始使用 <%: Url.Content(~/site/blah) %>语法作为 CSS、JScript 和图像 url 的标准 - 确实解决了很多问题;并且至少在 WebForms 和 Razor 页面之间是一致的(并非我的所有开发人员都会使用 Razor,但他们仍将在我制作的这个平台上工作)。

但是,对于我目前正在做的事情,我真的可以采用一种方法来获取用 Razor 页面编写的相对 URL,并在运行时将其解析为正确的服务器端文件,然后再将其转换回客户端的绝对 URL。 Url.Content对相对 URL 不做任何事情。

所以,基本上,我想要一个等效的 ResolveUrlResolveClientUrl在 Razor 级别。

我希望这样可以在我的一些 MVC View 中启用更简洁(并且更能容忍重命名)资源路径,这些路径可以是离根目录更远的几个文件夹,并且其内容文件夹更容易表示为相对路径 - 所以我本可以有:
folder\folder\views\shared\layout.cshtmlfolder\folder\content\site.css
(我还推断使用布局页面来反射(reflect) ResolveUrl 解决的问题类型以及 WebForms 所做的重新定位)

使用 Url.Content照原样,我需要指定完整路径:
Url.Content("~/folder/folder/content/site.css")
但我想要的是
Url.Content("../../site.css")
当然,不管当前请求的路由中有多少条路径,都要进行这项工作。

当然,我可以让它在 WebForms 中工作,如果我放弃 Url.Content 调用而只依赖 url rebase 。

Razor 中是否有任何等价物?

最佳答案

您可以尝试使用 WebPageRenderingBase.Href像这样的方法

@Href("../../site.css")

关于asp.net - Asp.Net Razor 的 ResolveUrl/ResolveClientUrl 等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5020240/

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