我想知道在运行时添加ViewUserControl(到ViewPage)是否存在任何已知问题.如果我以声明方式添加控件,它可以正常工作,但如果我以编程方式添加控件(在本例中的代码隐藏文件中)则不行.我没有得到错误,它只是没有呈现控件,但单步执行调试器确实确认正在调用页面生命周期中的相关方法.
我确实意识到在ASP.NET MVC中使用代码隐藏文件不太合适,但我确实有理由这样做.
发送要加载的控件列表并将其传递给视图模型.
控制器动作:
var controlsToLoad = new List<string>();
controlsToLoad.Add("foo");
return View(controlsToLoad);
Run Code Online (Sandbox Code Playgroud)
视图:
<% foreach (var control in Model as List<string>) { %>
<% Html.RenderPartial(control); %>
<% } %>
Run Code Online (Sandbox Code Playgroud)
这将使您远离代码,并且仍然允许您在控制器中动态指定要在视图中加载哪些控件.
| 归档时间: |
|
| 查看次数: |
708 次 |
| 最近记录: |