与Controller中可用的ASP.NET MVC中的Page.ResolveUrl相同的是什么?
Ata*_*hev 108
这是Url.Content:
ASPX:
<link rel="stylesheet" href="<%= Url.Content("~/Content/style.css") %>" type="text/css" />
Run Code Online (Sandbox Code Playgroud)
剃刀:
<link rel="stylesheet" href="@Url.Content("~/Content/style.css")" type="text/css" />
Run Code Online (Sandbox Code Playgroud)
小智 40
这应该做你想要的......
System.Web.VirtualPathUtility.ToAbsolute("~/")
UrlHelper.ContentHttpServerUtility.MapPathWebPageExecutingBase.HrefVirtualPathUtility.ToAbsoluteControl.ResolveUrl要在asp.net页面上使用内联代码调用任何方法,该方法需要作为当前对象的实例变量公开,或者作为静态/共享方法提供.
一个典型的MVC页面让我们可以通过它访问其中的一些属性作为属性WebViewPage.有没有想过当你输入时@ViewData,你会神奇地连接到ViewData?那是因为你已经点击了你所在的MVC页面所暴露的属性.
因此,要调用这些方法,我们不一定要引用它们所代表的类型,而是引用它们的实例属性.
我们可以像这样分别调用上面的实例方法:
href="@Url.Content("~/index.html")"
href="@Server.MapPath("~/index.html")"
href="@Href("~/index.html")"
Run Code Online (Sandbox Code Playgroud)
我们可以这样做来调用不需要实例的共享方法:
href="@VirtualPathUtility.ToAbsolute("~/index.html")"
Run Code Online (Sandbox Code Playgroud)
AFAIK,MVC页面不会自动从System.Web.UI命名空间创建任何实例,从中ResolveUrl继承.如果由于某种原因,你真的想要使用那个特定的方法,你可以新建一个控件并使用它暴露的方法,但我强烈建议不要使用它.
@Code
Dim newControl As New System.Web.UI.Control
Dim resolvedUrl = newControl.ResolveUrl("~/index.html")
End Code
href="@resolvedUrl"
Run Code Online (Sandbox Code Playgroud)
@Url.Content它,因为它最适合MVC范例| 归档时间: |
|
| 查看次数: |
45012 次 |
| 最近记录: |