2011-07-08 17 views
2

这可能会归结为一个哲学问题比什么都重要,但真的在aspx文件与做所有的工作中使用<asp:sqldatasource>之间的主要区别后面的代码?asp.net的SqlDataSource VS做在后面的代码

如果是这样,他们是什么?为什么?我知道我有我的偏好,但我只是好奇别人的想法。

编辑:

我故意没把我的偏好是把尽可能多的在后面的代码,甚至DAO。我很好奇别人的想法,因为我将不得不更新一大堆sqldatasource调用所有apsx文件的代码。

谢谢大家谁回应。我感谢你的意见。

+0

不要重新发明轮子? – asawyer

+2

除了测试/快速入侵之外,您不应该使用SqlDataSource,而应该使用ObjectDataSource。 http://stackoverflow.com/questions/1207295/sqldatasource-vs-objectdatasource/1207379#1207379 –

+0

的可能重复的[声明数据绑定与在代码隐藏ADO.NET](http://stackoverflow.com/questions/5319991 /声明-数据绑定-VS-ADO净在-代码隐藏) –

回答

2

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

理想情况下,你会进一步单独成N层解决方案这一点。 Link

2

对于一个简单的应用程序,没有任何理由不使用asp:sqldatasource,但很多开发人员想要从视图逻辑中分离数据访问策略的具体细节。

如果你想切换到像NHibernate的一个ORM?你将不得不从你的aspx页面翻出所有的asp:sqldatasource。如果你在后面的代码中进行了连接,你不必碰触aspx页面。如果你甚至进一步抽象出来,对DAO说,你甚至不需要触摸你的代码,你可以切换你的DAO。

相关问题