c# – 如何在MVC网页中重用模型或DAL&BLL

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

要求:一个调查应用程序,其中包含问题和目标类型答案(选项a,选项b …选项n).其中,用户需要提供一个或多个答案,并且他/她也可以提交更好的答案.

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

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

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

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

最佳答案 再次阅读所有这些我意识到,通过你的DAL和BLL缩写,在快速的第一眼就看起来像是一些对我来说不同的技术,你实际上只是想说数据访问层和业务逻辑层.

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

>我如何在两个项目中重用代码(一个webforms项目和一个mvc项目),以及
>我是否必须使用两个项目,还是可以将所有项目合并在一起?

我觉得现在应该回答这两个问题:

至于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”和/或“数据源”我还发现了以下相关问题:

> ASP.Net MVC framework and databinding,
> how I can bind my datasource to view?,或
> ASP.NET MVC Two Way Data Binding of Model to Radio Button List using Typed Model.

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

点赞