【问题标题】:asp.net sqldatasource vs doing it in code behindasp.net sqldatasource vs 在代码后面做
【发布时间】:2011-07-08 20:42:41
【问题描述】:

这很可能归结为一个哲学问题,但是在 aspx 文件中使用 <asp:sqldatasource> 与在后面的代码中完成所有工作之间真的有什么重大区别吗?

如果是,它们是什么,为什么?我知道我有自己的喜好,但我只是好奇别人的想法。

编辑:

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

感谢所有回复的人。感谢您的意见。

【问题讨论】:

标签: c# asp.net code-behind


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    对于一个简单的应用程序,没有任何理由不使用 asp:sqldatasource,但是许多开发人员希望将数据访问策略的细节与视图逻辑分开。

    如果你想切换到像 nHibernate 这样的 ORM 怎么办?您将不得不从您的 aspx 页面中删除所有的 asp:sqldatasource。如果您在后面的代码中进行了接线,则不必触摸 aspx 页面。如果你进一步抽象化,比如说进入 DAO,你甚至不必接触你的代码,你可以切换你的 DAO。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-18
      • 2011-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多