ASP.NET MVC图像和其他静态内容url

时间:2010-10-22 21:40:58

标签: asp.net-mvc asp.net-mvc-routing

我刚编辑了用户详细信息页面的路线,如下所示:

        routes.MapRoute(
            "UserDetails", // Route name
            "{controller}/{action}/{id}/{title}", // URL with parameters
            new { controller = "Users", action = "Details", id = UrlParameter.Optional, title = UrlParameter.Optional } // Parameter defaults
            );

现在我的网址如下:localhost/Users/Details/1/ShawnMclean 图像不会从控制器和site.master加载。 (不知道为什么css和javascript有正确的网址)。如果网址为localhost/Users/Details/1,则一切正常。

我的img in site.masterDetails.aspx在旧网址中看起来像这样:

<img src="../../Content/Images/logo3.png" />

但是当网址获得其他参数时,图片实际上位于../../../Content/Images/logo3.png

有没有办法让图片和其他静态内容的网址发生变化?

3 个答案:

答案 0 :(得分:20)

尝试像这样链接您的图片:

<img src="/Content/Images/logo3.png" /> 

或者如果不起作用,您可以随时使用帮助链接

<img src="<%= Url.Content("~/Content/Images/logo3.png") %>" />

另一种方式可能是

<img src="@Url.Content("~/Content/Images/logo3.png")" />

答案 1 :(得分:1)

您可以尝试使用帮助器:

<img src='<%= Url.Content( "~/Content/Images/pic.jpg" ) %>' alt="My Image" />

答案 2 :(得分:1)

你可以试试这个,

<a href="/"><img src="<%=Url.Content("~/Content/Images/logo.png")%>" alt="logo" title="Logo" /></a>