【问题标题】:Dynamically add web user controls动态添加网页用户控件
【发布时间】:2013-01-03 14:48:29
【问题描述】:

我对 ASP.NET 编程很陌生。现在,我尝试将几个 Web 用户控件添加到我的页面,这些控件取决于我从数据库数据创建的树视图中的复选框。

我正在考虑使用 iframe - 一个用于树视图,另一个用于控件,但这似乎相当复杂。有没有更简单的方法来做到这一点?

树形视图应始终保留在页面上,网络用户控件应出现或消失在页面的可滚动部分。您能否告诉我解决此问题的最佳做法是什么?

【问题讨论】:

  • 我们在这里讨论了多少种不同的控件?
  • 这取决于数据库中数据集的数量。目前有大约 10 种可能的控件

标签: asp.net iframe dynamic treeview web-controls


【解决方案1】:

iframe 不是解决此问题的最简单方法(因为您有两个无法相互通信的不同服务器端页面)。

如果您控制可见性的控件数量不多,我建议您将用户控件放在页面上的面板中,全部不可见,而树视图和此面板都在页面上,在一个更新面板。

在检查树视图时,在部分回发中,显示/隐藏相应的 Web 用户控件。

如上所述,动态添加控件是有问题的,因为它们必须在每次回发时重新添加,并且您会遇到状态问题。

【讨论】:

  • 感谢您的快速回答。这似乎是我目前正在寻找的。​​span>
【解决方案2】:

添加到页面的动态控件需要在每次回发时添加回页面。我不会为此使用 iframe;相反,您可以将左侧的树视图放在浮动 div 中,并将另一个浮动 div 用于右侧内容。如果正确的内容始终是复选框,请使用 ListView、Repeater 或其他为您构建控件树的数据绑定控件。只要 UI 一致,使用这些控件就容易得多。如果没有,您可以动态构建右侧。您必须在以后的所有回发中阅读页面上的复选框。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 2017-01-06
    • 1970-01-01
    • 2012-12-10
    • 1970-01-01
    相关资源
    最近更新 更多