应该在aspx页面或代码后面添加listview / repeater / gridview数据源吗?

时间:2013-03-12 12:47:18

标签: asp.net listview datasource

到目前为止,我总是在代码背后创建并绑定数据源,但现在我已经在aspx页面上看到(和使用过)对象日期源,并通过提及listview DataSourceId绑定到那里。如果我只想显示没有任何变化的数据,它会有什么不同吗?在表现还是在良好做法方面?

3 个答案:

答案 0 :(得分:0)

正如在SO问题中讨论的那样
asp.net sqldatasource vs doing it in code behind

在asp.net页面中嵌入SQLDataSource或任何数据源会将表示层与数据访问层耦合,从而降低可测试性和灵活性。我强烈建议将您的数据连接移动到他们自己的类,并创建一个数据访问层,然后您的代码可以在页面后面绘制。

理想情况下,您可以将其进一步分解为N-Tier解决方案。 Link

一些有用的链接
populate gridview via code-behind or markup DataSource?

答案 1 :(得分:0)

我会说你有更多的控制你的控制,如果你在代码中绑定它,你可以用很多创造性的方式操纵你的结果。如果您在标记中进行数据绑定,就像使用SelectMethodOnInit一样。每次回发或重新加载都会将该数据恢复为该方法中的数据。这对于填充您始终希望显示相同数据的下拉菜单非常有用。如果您希望数据能够响应,我会说您必须在代码中使用DataBind()

我还认为这是学习使用数据进行更高级操作的最佳实践。

答案 2 :(得分:0)

我想说这取决于项目的规模和可扩展性。

如果你想要电源和控制,那就选择代码隐藏。

如果您想要易用性和速度,那么在页面上执行操作并让对象管理CRUD