我如何重用模型或DAL& BLL与MVC网页

时间:2014-05-20 06:23:21

标签: c# asp.net asp.net-mvc

我正在研究这个具有以下要求的演示项目。

Requirement:一个调查应用,有问题和客观类型答案(选项a,选项b ...选项n)。其中,用户需要提供一个或多个答案,并且他/她也可以提交更好的答案。

(因为这个项目有一个调查模块,我需要在MVC框架中开发,项目的其余部分在ASP.NET中。

Confusion 1:我很困惑,我怎么能重复利用现有的模型&旧SDA样式连接以执行与新应用程序的绑定。根据MVC-更多html专注于asp.net平台方法排除绑定控制&所有其他。 (否则我会将其作为独立模块,新模型 - 视图 - 控制器连接。

Confuion 2:此调查应用可以通过服务器或独立应用部署为此应用的另一个模块。

更新我的问题是关于在MVC项目中重用旧的.ASPX项目的模型

2 个答案:

答案 0 :(得分:1)

当然,您可以在单个项目中同时处理这两个问题。如果您创建一个mvc项目 并添加他们将运行的aspx webforms init。在最好的场景中,你不需要做任何额外的工作。

Can I use ASP.NET MVC together with regular ASP.NET Web forms

答案 1 :(得分:1)

再次阅读所有这些内容我意识到,通过您的DALBLL缩写,乍一看看起来就像某些技术对我来说陌生,您实际上只是想说数据访问图层业务逻辑层

现在这真的将问题归结为:

  1. 如何在两个项目中重用代码(一个webforms项目和一个mvc项目)和
  2. 我是否必须使用两个项目,还是可以将所有项目打包在一起?
  3. 我觉得现在应该回答这两个问题:

    至于1。:按照rosko的建议 - 将您的DAL和BLL放入库项目并使用MVC和Webforms项目。

    至于2。:不,你不必,MVC和webforms可以共存。这就是“可能的重复”链接以及chandresh的答案。


    我认为你的实际问题更多的是:你是否可以在MVC项目中使用当前的DAL 技术和数据绑定机制。

    现在MVC只是一个Web框架。虽然许多MVC项目使用实体框架,但没有什么可以阻止您重复使用您喜欢的任何DAL技术。如果你真的想要痛苦,你可以从数据源渲染你的剃刀视图。

    但是,如果您习惯binding web controls to a data source,那么MVC会有所不同。如果“控件”存在于用户计算机上的Web浏览器中,而数据源位于Web服务器上,则双向绑定实际上是不可能的。 WebForms使用其页面视图状态,回发和事件处理周期来模仿它。

    在MVC中,从给定数据( View )呈现页面并从用户( Controller )接收更新数据是在完全不同的地方完成的。现代Web应用程序中的双向绑定通常发生在浏览器中,使用诸如knockout之类的javascript库,与基于ajax的库相结合,以使本地更改与服务器同步,例如Breeze

    搜索“数据绑定”,“mvc”和/或“数据源”我还发现了以下相关问题:

    现在我真的花了很多时间,所以我期待你的支持和接受: - )< / kidding>