硕士,
我定义了几条路线如下。
routes.MapRoute(
name: "Default1",
url: "{a}",
defaults: new { controller = "Home", action = "Index" }
);
routes.MapRoute(
name: "Default2",
url: "{a}/{b}",
defaults: new { controller = "Home", action = "Index" }
);
routes.MapRoute(
name: "Default3",
url: "{a}/{b}/{c}",
defaults: new { controller = "Home", action = "Index" }
);
routes.MapRoute(
name: "Default4",
url: "{a}/{b}/{c}/{d}",
defaults: new { controller = "Home", action = "Index" }
);
在 HomeController 中,
public ActionResult Index(dynamic data)
{
return View();
}
我在 Index 方法的开头设置了一个断点 现在,当我点击 URL 时:http://{MylocalIP:port}/a/b 坚持断点。 但我无法提取 a 和 b 的路由值。
我们如何做到这一点? 请帮忙。
提前致谢
最佳答案
即使您设法让它工作,您也必须让您的 Controller 操作处理不同的参数。为什么不根据参数的数量创建不同的操作并完全避免这种用法。如果您尝试提供可能并不总是具有值的 Model
属性,则创建一个模型,而不是将动态传递 Model
传递给操作。
关于c# - 具有动态参数的 Asp.net mvc Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19812014/