C# 表单应用程序的ASP.NET MVC解决方案?

C# 表单应用程序的ASP.NET MVC解决方案?,c#,asp.net-mvc,model-view-controller,forms,web-applications,C#,Asp.net Mvc,Model View Controller,Forms,Web Applications,我们正在构建一个调查系统,并利用ASP.NET MVC,想知道是否有人可以提供关于该体系结构的建议 这是我们试图解决的问题。基本上,一个机构每年都会发出几份调查报告。它们非常结构化,不像SurveyMonkey式的调查——它们实际上是反馈的应用。就像签证申请一样,他们需要做很多事情,有时需要2-3周的时间来填写 他们可以上传文件(购买证明等-PDF/JPG)和多个“项目”。比如说,他们为麦当劳工作过,可能有20家不同的特许经营店,他们会列出他们工作过的地点。3周后,可能会有另外3个新地点,2个可

我们正在构建一个调查系统,并利用ASP.NET MVC,想知道是否有人可以提供关于该体系结构的建议

这是我们试图解决的问题。基本上,一个机构每年都会发出几份调查报告。它们非常结构化,不像SurveyMonkey式的调查——它们实际上是反馈的应用。就像签证申请一样,他们需要做很多事情,有时需要2-3周的时间来填写

他们可以上传文件(购买证明等-PDF/JPG)和多个“项目”。比如说,他们为麦当劳工作过,可能有20家不同的特许经营店,他们会列出他们工作过的地点。3周后,可能会有另外3个新地点,2个可能已经关闭。因此,我们需要确保表单能够处理这些情况

表格本身(标记和数据)每年都在变化——我应该提到,这是针对税务/财务/预算系统的

我们考虑使用MVC,使用Xml存储数据(暂时),使用XSD验证数据,使用XSL将数据转换为可呈现的标记(供他们填写),然后在他们“提交”应用程序后,将其存储到相关区域的数据库中

当用户启动应用程序流程时,他们可以保存到目前为止的进度(我们验证他们输入的内容,忽略他们没有输入的内容),将其保存为Xml blob并存储在数据库中。当他们最终准备好提交时,我们会进行全面验证,上传文件并安全存储(文件中有他们的商业证明和会计报表),然后运行一些工作流

我真正关心的是如何管理不断变化的表单版本(一年后)。现在表单/应用程序系统是如何编写的?我们有2个月的时间来完成这项工作,还有大约30份表格要交付。所以30xxml,30xxSD,30xxs.

< p>这可能是一个与Windows工作流基础的集成的例子,因为你在谈论维护一个长时间运行的工作流的状态(完成应用程序)。 如果可以划分应用程序流程的各个组件,则可以在未来几年中通过删除、重新路由和/或修改工作流的现有部分来修改工作流

这就是说,听起来你可能有相当紧张的时间限制。对WF进行几小时的调查可能值得,但是仔细考虑是否引入新的事物会危及你的最后期限。 至于XML、XSD、XSL路线,我认为这取决于您团队的经验。就我个人而言,我会回避这一点,并将数据存储在关系数据库中的一个或多个“挂起的应用程序”表中。从那里(当然,您也可以从XML中执行此操作),构建适当的业务对象和模型,我的MVC视图可以绑定到这些对象和模型。使用企业验证或Fluent验证等执行字段级验证,最终验证由一个或多个验证程序类执行,这些类检查应用程序的所有组成部分

要处理可能的更改,请在30个表单之间保持干净的分隔。明年您应该能够修改给定的表单,而不会弄乱其他表单。记住,如果未来几年有新的需求,您总是可以子类化或组合模型类型,并且您不必删除过时的部分——您的新视图不会公开模型的某些部分