我的问题是我在 MVC 中制作了一个 Map Route,它采用三个参数。当我提供全部三个或两个时,参数会从 URL 传递到我的控制器。但是,当我只提供第一个参数时,它不会被传递并返回 null。不知道是什么导致了这种行为。
路线:
routes.MapRoute(
name: "Details", // Route name
url: "{controller}/{action}/{param1}/{param2}/{param3}", // URL with parameters
defaults: new { controller = "Details", action = "Index", param1 = UrlParameter.Optional, param2 = UrlParameter.Optional, param3 = UrlParameter.Optional } // Parameter defaults
);
控制器:
public ActionResult Map(string param1, string param2, string param3)
{
StoreMap makeMap = new StoreMap();
var storemap = makeMap.makeStoreMap(param1, param2, param3);
var model = storemap;
return View(model);
}
当我导航到以下位置时,字符串 param1 返回 null:
/StoreMap/Map/PARAM1NAME
但是当我导航到以下位置时它不会返回 null:
/StoreMap/Map/PARAM1NAME/PARAM2NAME