使用默认的ActionResult /页面而不必将其包含在URL中

时间:2016-12-13 14:19:49

标签: c# asp.net-mvc

我正在使用MVC和实体框架,并且我使用以下代码从表中恢复所有内容并将其显示在屏幕上

    public ActionResult Index(int? id)
    {
        if (id  == null) {
            return View(db.DDLs.ToList());
        } else {
            var drafts = db.DDLs.Where(d => d.DDLTypeID == id).ToList();
            return View(drafts);
        }
    }

输入此网址会显示整个表格的内容,我希望如此。

本地主机:2378 / DDL /

索引是默认的ActionResult / routes所以我认为使用MVC / EF我可以使用

本地主机:2378 / DDL / 1

只返回DDLTypeID = 1的记录,但我必须像这样包含默认的ActionResult / route。

本地主机:2378 / DDL /索引/ 1

有没有办法使用

本地主机:2378 / DDL / 1

还是我对MVC / EF有另一种基本的误解?

如果有帮助的话,我使用Visual Studio创建的默认路由。

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }

由于

1 个答案:

答案 0 :(得分:0)

您可以将路径的多个模式映射到同一个操作方法。 路由只与ASP.NET MVC有关,它与EF无关。

请参阅此网站:http://www.tutorialsteacher.com/mvc/routing-in-mvc