我有一个名为HomeController的控制器,我正在重写它的所有动作甚至是控制器的名称,分别用Route和Routeprefix进行装饰。 这是我的控制器,带有操作方法索引
[RoutePrefix("MyPortal")]
public class HomeController : Controller
{
[Route("Home")]
public ActionResult Index()
{
}
[Route("Index")]
public ActionResult LandingPage()
{
}
}
它的工作正常,但是当我在URL中键入Home / Index时,它给出了我的错误
A public action method 'index' was not found on controller 'Web.Controllers.HomeController'. /Home/index
我想将用户重定向到Index ActionResult,如果他键入Home / Index或MyPortal / Home
同样,如果他输入Home / LandingPage或MyPortal / Index,他应该重定向到LandingPage。
MyPortal / Home或MyPortal / Index工作正常。
答案 0 :(得分:-1)
这个怎么样..?但是你的最后一个案例(MyPortal / Index)将不起作用
[RoutePrefix("Home")]
[RoutePrefix("MyPortal")]
public class HomeController : Controller
{
[Route("Index")]
[Route("Home")]
public ActionResult Index()
{
}
[Route("LandingPage")]
public ActionResult LandingPage()
{
}
}