2013-03-12 69 views

回答

0

如之一讨论SO质疑
asp.net sqldatasource vs doing it in code behind

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

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

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

+0

所以它没有任何性能优势? (这是我从链接中得出的结论) – ali 2013-03-12 13:06:36

+0

也有更多的控制和性能优势。 :) – 2013-03-12 13:20:43

+0

什么是性能优势? – ali 2013-03-12 13:33:05

0

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

我也认为这是学习使用您的数据做更高级的事情的最佳做法。

+0

回传是一个好点。感谢 – ali 2013-03-12 13:07:42

+0

当你编写一个程序时,一切都不够好。你总是希望用你的数据做更多有创意的事情。 – jackncoke 2013-03-12 13:11:27

0

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

如果你想要电源和控制,然后去代码隐藏。

如果你想易于使用和速度,然后做的事情在页面上,让对象管理CRUD

相关问题