我现在已经进入 MVC 几个星期了,而且每天都会出现一些新的东西,这让我觉得很奇怪。所以,我试图找到我面临的问题的答案。尽管如此,对于当前的问题,我似乎在stackoverflow上或谷歌上的任何地方都找不到下降的答案......
我在使用 HTML.RenderAction 方法将参数传递给我的控制器时遇到问题。由于某种原因,参数在 RouteData 中正确结束,但“函数参数”为空。我认为这与我的路由图有关,所以我想在这里发布它们以获取更多信息。
我的路线图(除其他外,但我知道我当前的操作正在使用此根):
routes.MapRoute("Default","{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" },
null,
new[] { "Web.Controllers" }
);
我的控制器动作:
public ActionResult GeneralManagementDetail(int? id)
{
//dostuff
}
RenderAction 调用:
<% Html.RenderAction("GeneralManagementDetail", "Person", new { id = 4 }); %>
当然,“4”当前是一个硬编码值,它将成为我在那里的包含 foreach 循环中的对象的 id。
现在,这导致控制器中的“int id”为NULL,但是当“QuickWatching”RouteData 时,它肯定有一个键值对“id,4”...