0

我在 global.asax 中定义了以下路线:

routes.MapRoute(
               "Agreements2", // Route name
               "Agreements2/{action}/{id}", // URL with parameters
               new { controller = "Agreements", action = "AgreementSummery", id = UrlParameter.Optional } // Parameter defaults
               );
             routes.MapRoute(
                "Agreements", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Agreements", action = "Index", id = UrlParameter.Optional } // Parameter defaults
                );

后一条路线工作正常,但我不明白为什么第一条路线不起作用。

Agreements 控制器上的 AgreementSummery 方法定义为:

[HttpGet]
        public ActionResult AgreementSummery(int? id)
        {

            AgreementsModel model = new AgreementsModel();
            model.SelectedAgreementID = id.Value;
            return View(model);
        }
4

1 回答 1

1

id 没有被定义为可选,它被定义为可以为空。可选的将是如果它被分配了一个值

public ActionResult AgreementSummery(int? id = null)
于 2012-09-04T21:41:46.003 回答