【发布时间】:2015-07-20 13:54:50
【问题描述】:
从 V6.1 更新到 V8.1 后,我们的 MVC 自定义代码不起作用,它返回 404(自定义代码是一些 API 使用 Sitefinity API 读取内容和商业数据)。
根据文档“here”,它说“Bootstrapper.MVC.MapRoute 已删除。请改为调用 RouteTable.Routes.MapRoute (System.Web.Mvc)。” ,所以我从
更改了我的代码public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
Bootstrapper.MVC.MapRoute(
"ExternalAccess",
"baseApi/{controller}/{action}/{id}",
new { controller = "MvcMainApiCntr", action = "Index", id = "" }
);
}
到
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"ExternalAccess",
"baseApi/{controller}/{action}/{id}",
new { controller = "MvcMainApiCntr", action = "Index", id = "" }
);
}
但是路由还是不行。
这是我们的 MVC 类的示例:
using System;
using System.IO;
using System.Net;
using System.Web.Mvc;
using HtmlAgilityPack;
using Telerik.Sitefinity.Abstractions;
namespace SitefinityWebApp.Mvc.Controllers
{
public class SharedAssetsController : Controller
{
[HttpGet]
public ViewResult GetScripts()
{
var rootUrl = anyfunction();
return View("Scripts", (object) rootUrl);
}
}
}
下面是我们在global.ascx中绑定路由的方法:
protected void Application_Start(object sender, EventArgs e)
{
RouteConfig.RegisterRoutes(RouteTable.Routes); //the first method in that post
Bootstrap.BootstrapSitefinity();
}
知道我们该如何解决这个问题吗?
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-5 sitefinity