【发布时间】:2017-04-04 08:39:26
【问题描述】:
我需要显示一个面板页面,每个面板都是一组从数据库中提取的测试。每个面板都有用户输入、输入验证、JavaScript 警报等。
我正在考虑将每个面板设为 UserControl,然后通过 eval 将 Id 传递给用户控件。使用这样的用户控件是不好的做法吗?将面板直接嵌套在 GridView 中会更好吗?
【问题讨论】:
标签: asp.net gridview user-controls
我需要显示一个面板页面,每个面板都是一组从数据库中提取的测试。每个面板都有用户输入、输入验证、JavaScript 警报等。
我正在考虑将每个面板设为 UserControl,然后通过 eval 将 Id 传递给用户控件。使用这样的用户控件是不好的做法吗?将面板直接嵌套在 GridView 中会更好吗?
【问题讨论】:
标签: asp.net gridview user-controls
面板和用户控件都是对象。它们本质上是一样的。用户控件更易于重复使用,可以将其视为预建面板。这也不是真正的“坏习惯”。
您真正应该考虑的是控件内部的内容。如果它需要大量代码(生成头像、获取帐户信息、从数据库加载额外信息等),那么用户控制会更好。
但请记住,这些事情对每一项都可能是密集的,这可能会破坏性能。
更好的选择是首先将所有内容加载到视图模型列表中,然后将预先存在的数据传递到控件中。此时,用户控件或面板并不重要。
我个人可能会选择用户控制来进行划分和组织。除非它只有一个标签或其他东西。那么这可能是矫枉过正。
【讨论】: