【发布时间】:2016-06-15 13:39:23
【问题描述】:
我有一个 Angular 应用程序,由于功能原因,我已将其分成 2 个。在这里,我们将应用程序称为 Default 和 Admin。
在我的 ASP.NET MVC 网站中,我定义了这个路由,它将捕获所有 URL 并加载 Home/Index.cshtml 视图。
// Mvc routes
app.UseMvc(builder =>
{
// default goes to Home, and angular will deal with client side routing
builder.MapRoute(
name: "default",
template: "{*url}",
defaults: new { controller = "home", action = "index" });
});
现在,如果用户转到包含单词 admin 的 URL(例如 www.mysite.com/admin 或 www.mysite.com/admin/something),那么我想返回我的 Admin/Index.cshtml 视图.
为了完成这个,我添加了我的AdminController
[Authorize]
public class AdminController : Controller
{
[Route("~/Admin/{id?}")]
public IActionResult Index()
{
return View();
}
}
但是,如果我尝试加载包含 2 个以上参数的 url,例如 www.mysite.com/admin/page/12 我的 Home/Index.cshtml 将被返回。
如果 Admin 一词在域名之后,无论 URL 中有多少参数,我如何才能返回我的 Admin 视图??
【问题讨论】:
标签: c# asp.net angularjs asp.net-mvc asp.net-core