微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – .NET MVC应用程序中可重用性的单位是什么?

在传统的ASP.NET Web窗体应用程序中,UserControls是封装功能的好方法,可以重复使用。但是,UserControls不适合MVC模型。他们经常大量使用ViewState,并且模糊了MVC所提倡的担忧。

我的问题是,如何最好地捆绑一个功能,以便在MVC应用程序之间共享?

例如,考虑一个从/到日期选择器UserControl:

>允许用户选择两个日期,使用JavaScript覆盖或通过在单独的字段中输入日期,月份和年份
>可以配置为认为今天和明天的日期或开发人员选择的日期
>验证用户返回的日期,以确保从日期到现在
>公开可以通过代码隐藏访问的From和To属性

如何在.NET MVC中最好地构建这样的东西,以便我可以轻松地重用它?

请注意,为了完全模拟用户控件的功能,MVC组件必须管理提交的表单数据和验证 – 而不仅仅是演示文稿。

解决方法

一般来说,我同意用户控件在封装UI的东西方面是不错的,但我认为在MVC中并没有太多的改变。如果我记得在经典的Asp.net项目中重新使用用户控件是一种痛苦,并不是真正创建可重用组件的最佳方法。您为经典ASP.net购买的大多数UI工具包没有给您用户控件,他们基本上为您提供了服务器控件和JavaScript控件。

在您的示例中,我可能会创建或找到一个jQuery(或者选择框架)插件,在客户端执行您想要的。您也可以在其周围构建类似于Telerik对某些jQuery UI控件所做的C#包装。我认为,代码背后甚至观看状态的词将从您的词汇中消失,您进入MVC越多。

如果你看看MVC中有什么开源项目,你会得到你应该做什么的答案。

> MVC Contrib应用程序通过创建扩展方法和帮助器增加了很多功能。他们的网格控制是创建可以在项目中使用的可重用组件的典型方式
> Telerik,创建了一些包装jquery控件和进行资产管理的扩展。
>最后我想如果你看未来,MVC有areas,如果我解释正确的话,你可以把你的项目分解成多个小项目。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐