dou*_*oug 17 asp.net-mvc relative-path
我有一个ASP.NET MVC页面,我试图显示友好的URL.
所以,我在Home Controller中有一个Category View,它接受categoryKey值来获取页面的内容.
例如:http:// localhost/Home/Category/Bikes获取自行车内容.
在我的Global.asax.cs中,我有以下处理这个:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Category",
"{controller}/{action}/{categoryKey}",
new { controller = "Home", action = "Category", categoryKey = "" });
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
Run Code Online (Sandbox Code Playgroud)
这很好用,它获取内容,但是,我从内容管理系统获取内容,以便于编辑.在内容管理上添加图像时,它会使用相对路径添加图像:
<img src="../AdminUploadContent/bikes.gif" alt="Bikes" />
Run Code Online (Sandbox Code Playgroud)
现在,如果我转到" http:// localhost/Home/Category ",并且该图像标签位于基页上,它将拉出图像.但是,如果我转到" http:// localhost/Home/Category / ",或添加"/ Home/Category/Bikes"/的实际类别,则图像不会显示.图像的属性指向" http://localhost/Home/AdminUploadContent/bikes.gif ".
我可以在Global.aspx.cs文件中放置什么来处理相对路径吗?即使我手动编辑内容管理以添加../../AdminUploadContent/bikes.gif,它也会切断第一个../,因为它正在进行一些验证.
mar*_*ind 41
生成图像路径时使用Url.Content方法.
<img src="@Url.Content("~/AdminUploadContent/bikes.gif")" />
Run Code Online (Sandbox Code Playgroud)
或者如果使用WebForms视图引擎:
<img src="<%= Url.Content("~/AdminUploadContent/bikes.gif") %>" />
Run Code Online (Sandbox Code Playgroud)
可以使用相对路径“~/”来引用页面当前所在的虚拟目录。尝试将 runat="server" 属性添加到“img”标签中,并在“src”属性中添加“~”符号:
<img runat="server" src="~/AdminUploadContent/bikes.gif" alt="Bikes" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26871 次 |
| 最近记录: |