将多用户控件加载到页面的最佳方法

时间:2012-02-01 12:01:29

标签: asp.net

我有一个包含3个用户控件的页面,我想一次显示一个用户控件。 但我对使用用户控件可见性属性(true,false)或在运行时加载用户控件(单击按钮时加载控件并将其添加到页面)感到困惑

我需要你的建议

1 个答案:

答案 0 :(得分:1)

我建议您切换可见性而不是动态加载。这会让事情变得更容易。

通过这种方式你不需要

  • 在回发上重新创建控件
  • 存储创建的控件的数量
  • 在太晚创建控件时处理生命周期问题(例如,没有触发事件等)
  • 等...

记住Visible="False"也意味着它甚至不会作为html存在于客户端,因此您不必害怕创建不必要的流量。

经验法则:当编译时控件数量不可预测时,动态地在ASP.NET中创建控件

但即使它是不可预测的,因为你从dbms获得这些信息,你应该考虑使用Data-Bound Control代替(f.e。GridViewRepeater)。

因此,只有少数用例仍然需要动态控制,例如

  • 用户可以暂时添加/删除控件,您不希望将该数字存储在dbms中,而是存储在SessionViewState