我是MVC5的新手,我正在尝试在我的某个区域下本地拥有 Content 文件夹。不幸的是,我似乎无法在输出中渲染图像,因为路径变得不正确(?)而我无法弄清楚如何正确引用它。
在我的解决方案中,我有以下内容:
ProjectX
Areas
Area1
Controller
Area1DefaultController
Content
Images
image1.png
Views
View1.cshtml
在我的视图中我使用此:
@Url.Content("~/Areas/Area1/Content/Images/image1.png")
我也试过..
@Url.Content("~/Content/Images/image1.png")
@Url.Content("/Content/Images/image1.png")
@Url.Content("Content/Images/image1.png")
..并且所有情况下的结果都是图像损坏(即路径不正确)。我想路由会以某种方式阻止图像被检索,但我无法弄清楚如何解决问题。
这是我的区域注册:
public class Area1Registration : AreaRegistration
{
public override string AreaName
{
get { return "Area1"; }
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Area_default",
"Area/{action}/{id}",
new { controller = "Area1Default", action = "Index", id = UrlParameter.Optional }
);
}
}
更新:ReSharper能够解析标记中的路径。
如何在内容下找到我的资源?
答案 0 :(得分:1)
我收到404的原因是Area1 web.config
中的BlockViewHandler。我创建了一个新的web.config并放在我的Static
文件夹中以解决问题。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="BlockViewHandler" />
</handlers>
</system.webServer>
</configuration>