![](/img/trans.png)
[英]Set default action (instead of index) for controller in ASP.NET MVC 3
[英]set index action default action controller in asp.net mvc
我在写时试图使索引动作是此控制器中的默认动作
http // mydomain / action
通话索引操作> http // mydomain / case-studies
将调用索引动作
我在写url时遇到的问题给我此消息The resource cannot be found.
我写它的URL http//mydomain/case-studies
它应该是调用索引操作,但是The resource cannot be found.
这是控制器
[RoutePrefix("case-studies")]
public class case_studiesController : Controller
{
// GET: CaseStudies
[Route("Index")]
public ActionResult Index()
{
return View("/views/case-studies/Index.cshtml");
}
[Route("adaep")]
public ActionResult adaep()
{
return View("/views/case-studies/pagename.cshtml");
}
}
这是我的路线
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
这个答案与我一起工作,以将本地路由保留为默认路由,并为每个控制器执行默认操作,我将其从[Route(“ Index”)]更改为具有相同路由的[Route(“”)]]
[Route("")]
public ActionResult Index()
{
return View("/views/case-studies/Index.cshtml");
}
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
那条路线做到了。路线的定义是:如果{controller}为空,如果{action}为空,则使用“ Home”;如果{id}在id参数中具有值位置,则使用“ index”。 对于只有控制器名称的每个url,请求都应执行index动作
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
这是因为你的MapRoute
不正确,你MapRoute
是有家庭的默认控制器:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
更改为:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "case-studies", action = "Index", id = UrlParameter.Optional }
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.