[英]ASP.NET MVC how to always visit the Index Page/Action and how to set the default route.
假设在我的项目中,我有这样一个结构:
public class SalesOrderController : OrderController
{
public ActionResult Index()
{
}
}
public class PurchaseOrderController : OrderController
{
public ActionResult Index()
{
}
}
public class HomeController : Controller
{
public ActionResult Index()
{
}
}
通常,您访问这样的网页:
myUrl / SalesOrder /索引
myUrl / PurchaseOrder的/索引
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应用程序应访问的第一页。
谢谢您的帮助。
您可以使用属性路由来实现以下目的
public class PurchaseOrderController : OrderController
{
[Route("PurchaseOrder")]
[Route("PurchaseOrder/Index")]
public ActionResult Index()
{
}
}
public class HomeController : Controller
{
[Route("Home")]
[Route("Home/Index")]
public ActionResult Index()
{
}
}
您可以在此处了解更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.