我通过NuGet安装了RouteJS for MVC 5并按照安装说明进行操作,但尝试加载<script src='/routejs.axd/251810a87f19ffe842a619acc9a90d73349ba4fa/router.js'></script>
时会返回_Layout.cshtml的内容和200的状态。
我正在运行MVC 5,C#和IIS Express 8.我已经尝试了在GitHub / NuGet网站上找到的Web.config的新变种。如果我使用区域,是否需要其他配置?
#_Layout.cshtml
#This works
<script src="@RouteJs.RouteJsHandler.HandlerUrl"></script>
#Web.config
<configSections>
<section name="routeJs" type="RouteJs.RouteJsConfigurationSection, RouteJs" />
</configSections>
#This section by itself will break the application.
#Added the 'validation' line to system.webServer to prevent an error
#I've tried running RouteJS with and without this section.
<system.web>
<httpHandlers>
<add verb="GET" path="routejs.axd" type="RouteJs.RouteJsHandler, RouteJs" />
</httpHandlers>
</system.web>
<system.webServer>
<handlers>
<validation validateIntegratedModeConfiguration="false"/>
<add name="RouteJs" verb="GET" path="routejs.axd" type="RouteJs.RouteJsHandler, RouteJs" />
</handlers>
</system.webServer>
<routeJs exposeAllRoutes="true" />
#RegisterRoutes
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
答案 0 :(得分:0)
您必须为该区域声明此类代码才能添加路线:
public class AdminAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Admin";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}