我想知道在运行时(向ViewPage)添加ViewUserControl是否存在任何已知问题。如果我以解密方式添加控件,则可以正常工作,但如果我以编程方式添加控件(在本例中是在代码隐藏文件中),则效果不佳。我没有得到一个错误,它只是没有呈现控件,但单步执行调试器确实确认页面生命周期中的相关方法正在被调用。
我确实意识到在ASP.NET MVC中使用隐藏在文件后面的代码是不太合适的,但我确实有理由这样做。
发布于 2009-06-02 19:17:19
发送要加载的控件列表,并将其传递给视图模型。
控制器操作:
var controlsToLoad = new List<string>();
controlsToLoad.Add("foo");
return View(controlsToLoad);查看:
<% foreach (var control in Model as List<string>) { %>
<% Html.RenderPartial(control); %>
<% } %>这将使您远离后台代码,并且仍然允许您在控制器中动态指定要在视图中加载哪些控件。
发布于 2009-06-02 19:20:28
或者,如果您需要其他功能,可以使用更圆滑的方法,将上述建议封装在ViewPage类的扩展方法中。
https://stackoverflow.com/questions/941361
复制相似问题