UserControls 的 GridView,不好的做法?

A GridView of UserControls, bad practice?

我需要显示一页面板,每个面板都是从数据库中提取的一组测试。每个面板都会有用户输入、输入验证、JavaScript 警报等。

我正在考虑让每个面板成为一个 UserControl,然后通过 eval 将 Id 传递给用户控件。像这样使用用户控件是不好的做法吗?面板直接嵌套在GridView中是不是更好?

面板和用户控件都是对象。它们本质上是同一件事。用户控件更容易重用,可以把它想象成一个预先构建的面板。两者都不是 'bad practice'。

您真正应该考虑的是控件内部的内容。如果它需要大量代码(生成头像、获取帐户信息、从数据库加载额外信息等),那么用户控件会更好。

但请记住,这些事情对每个人来说都是密集型的,这会破坏性能。

更好的做法是先将所有内容加载到视图模型列表中,然后将预先存在的数据传递到控件中。在这一点上,用户控制或面板并不重要。

我个人可能会选择用户控件来进行划分和组织。除非它只是有一个标签或什么的。那么这可能是矫枉过正了。