微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-mvc – ASP MVC友好的URL和相对路径图像

我有一个ASP.NET MVC页面,我试图显示友好的URL.

所以,我在家庭控制器中有一个类别视图,它接受一个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
  );
}

这样做很好,它获得内容,但是,我从内容管理系统获取内容,方便编辑.当您在内容管理上添加图像时,它会添加一个相对路径的图像:

<img src="../AdminUploadContent/bikes.gif" alt="Bikes" />

现在,如果我转到“http://localhost/Home/Category”,并且该图像标签在基页上,它将拉起图像.但是,如果我转到“http://localhost/Home/Category/”,或者添加“/ Home / Category / Bikes”/的实际类别,则图像不显示.图像的属性指向“http://localhost/Home/AdminUploadContent/bikes.gif”.

有什么我可以放在我的Global.aspx.cs文件来处理相对路径?即使我手动编辑内容管理来添加../../AdminUploadContent/bikes.gif,它正在砍掉第一个../,因为它正在做一些验证.

解决方法

生成图像路径时,请使用 Url.Content方法.
<img src="@Url.Content("~/AdminUploadContent/bikes.gif")" />

或者如果使用WebForms视图引擎:

<img src="<%= Url.Content("~/AdminUploadContent/bikes.gif") %>" />

原文地址:https://www.jb51.cc/aspnet/250820.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐