假设在我的项目中我有这样的结构:
public class SalesOrderController : OrderController
{
public ActionResult Index()
{
}
}
public class PurchaseOrderController : OrderController
{
public ActionResult Index()
{
}
}
public class HomeController : Controller
{
public ActionResult Index()
{
}
}
通常,您访问这样的网页:
myUrl / SalesOrder / Index
myUrl / PurchaseOrder / Index
myUrl /主页/索引
我该如何设置,以便当我访问myUrl / SalesOrder时它将自动访问该控制器的索引页?如何使它适用于所有控制器?是通过路由吗?还是有另一种方法?
编辑:
我修改了默认路由,因为当在地址页面中访问“ myUrl”时,我很难配置要访问的第一页。
我的默认路由当前如下所示:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Login", action = "Login", id = UrlParameter.Optional }
);
我尝试通过使用如下标记更改web.config来控制Web应用程序应访问的首页:
<defaultDocument>
<files>
<add value="Login/Login" />
</files>
</defaultDocument>
我也尝试在IIS上更改默认文档,但似乎无法配置Web应用程序应访问的第一页。
感谢您的帮助。
答案 0 :(得分:0)
您可以使用属性路由来实现类似的目的
public class PurchaseOrderController : OrderController
{
[Route("PurchaseOrder")]
[Route("PurchaseOrder/Index")]
public ActionResult Index()
{
}
}
public class HomeController : Controller
{
[Route("Home")]
[Route("Home/Index")]
public ActionResult Index()
{
}
}
您可以了解有关此here的更多信息。