繁体   English   中英

ASP.NET MVC如何始终访问索引页/操作以及如何设置默认路由。

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM