在ASP.NET页面的代码隐藏中执行直接数据库访问是一种好习惯吗?

时间:2010-06-07 13:41:10

标签: c# asp.net

我是一名经验丰富的开发人员,但我是Web应用程序开发的新手。现在我负责开发一个新的Web应用程序,我真的可以使用经验丰富的Web开发人员的一些意见。

我想了解经验丰富的Web开发人员在代码隐藏页面中所做的事情。起初我认为最好有一条规则,即所有数据库访问和业务逻辑都应该在代码隐藏页面外部的类中执行。我的想法是,在代码隐藏中只执行Web表单所需的逻辑。我仍然认为所有的业务逻辑都应该在其他类中执行,但是我开始认为如果代码隐藏可以访问数据库直接查询它而不必调用其他类来接收数据集就可以了。或回收。

任何意见都会受到赞赏。

2 个答案:

答案 0 :(得分:3)

如果你严格使用asp.net(并且不使用MVC模型),那么考虑到N层开发和分离,你就走在正确的轨道上。

您的代码隐藏应该与表示/ UI相关,并且应该依赖于中间层的业务逻辑等。

一般来说,拆分应用程序的最简单方法是在VS解决方案中拥有多个项目,例如:

  • ASP.NET Web应用程序项目(Presentation / UI)
  • C#类库 - 业务逻辑层
  • C#类库 - 数据层
  • 数据库(SQL或其他)

您当然可以根据需要拥有许多其他库和层,但基本上在非Web环境中工作的n层方法在此处使用相同的原则很好地适用。

答案 1 :(得分:2)

如果您是ASP.NET新手,而不是从代码隐藏页面开始,请使用ASP.NET MVC 2。它负责为您分离关注点,并且是微软Web开发的未来。

以下是来自Scott Hanselman的视频How to Best Learn ASP.NET MVC

此外,还有NerdDinner Tutorial