在我的输入表单中,我让用户选择一个状态。状态列表存储在数据库中(因为我们还不支持每个状态)。这个列表很少有变化。
因此,我想使用RenderAction来呈现控件,因为我不想将每个ViewModel的状态列表传递给视图。这一行动的结果是下降。
因为这是一个输入控件,所以它需要有一个名称。因此,从我的主要观点来看,我按如下方式调用RenderAction:
@Html.RenderAction("GetStates", "Data", new { controlName = "states" });通过controlName感觉不对。我觉得我误用RenderAction来创建用户控件,而@Html.Partial则更合适,另一方面,我不想将状态列表传递给@Html.Partial,因为该信息与表示关系更为密切。
问题,我是否应该坚持RenderAction,并按上面所述通过controlName?还是有更好的解决方案?
发布于 2012-07-24 21:55:57
将控件名作为param传递没有什么问题。我会同意的。
此外,从数据库中获得的状态列表。如果您在页面上多次显示此列表.把它存储在TempData中。如果在tempdata中存在,请检索并使用它保存数据库命中。你甚至可以把它藏得更高。
https://stackoverflow.com/questions/11639831
复制相似问题