And*_*tan 24 asp.net asp.net-mvc razor
所以我开始使用<%: Url.Content(~/site/blah) %>语法作为CSS,JScript和Image URL的标准 - 确实解决了很多问题; 它至少在WebForms和Razor页面之间是一致的(并不是我的所有开发人员都会做Razor,但他们仍然会在我制作的这个平台上工作).
但是,对于我目前正在做的事情,我真的可以采用一种方法来获取Razor页面中编写的相对Url,并在运行时将其解析为正确的服务器端文件,然后再将其转换为客户端的绝对URL. Url.Content对相对网址没有任何作用.
所以,基本上,我想要一个ResolveUrl或ResolveClientUrl等于Razor级别.
我希望这能够在我的一些MVC视图中启用terser(并且更容忍重命名)资源路径,这些视图可以是从根目录下方的几个文件夹,其内容文件夹将更容易表示为相对路径 - 所以我本可以有:
folder\folder\views\shared\layout.cshtml
和
folder\folder\content\site.css
(我还推断使用布局页面,以反映ResolveUrl解决的问题类型以及WebForms所做的重新编写)
Url.Content按原样使用,我需要指定完整路径:
Url.Content("~/folder/folder/content/site.css")
但我想要的是
Url.Content("../../site.css")
当然,无论当前请求的路径中有多少条路径,都可以完成这项工作.
当然,如果我放弃Url.Content调用并依赖url rebasing,我可以在WebForms中使用它.
Razor有没有相应的东西?
Ale*_*yev 35
您可以尝试使用这样的WebPageRenderingBase.Href方法
@Href("../../site.css")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17781 次 |
| 最近记录: |