ctf*_*ord 19 asp.net asp.net-mvc
在传统的ASP.NET Web窗体应用程序中,UserControls是一种封装功能的好方法,可以重用它.但是,UserControls不适合MVC模型.他们经常大量使用ViewState,它们模糊了MVC所提出的关注点.
我的问题是,你如何最好地捆绑一个功能,以便它可以在MVC应用程序之间共享?
例如,考虑从/到日期选择器UserControl:
我如何在.NET MVC中最好地构建这样的东西,以便我可以轻松地重用它?
请注意,要完全模拟用户控件的功能,MVC组件必须管理提交的表单数据和验证 - 而不仅仅是演示文稿.
一般来说,我同意用户控件在封装UI内容方面很好,但我认为在MVC中没有太多改变.如果我记得在经典的Asp.net项目中重新使用用户控件是一件痛苦的事情,并且从来不是真正创建可重用组件的最佳方式.您为经典ASP.net购买的大多数UI工具包都没有为您提供用户控件,它们基本上为您提供了服务器控件和javascript控件.
在您的示例中,我可能会创建或找到一个jquery(或您选择的框架)插件,它可以在客户端执行您想要的操作.您还可以围绕它构建一个C#包装器,类似于Telerik对一些jquery UI控件所做的操作.我确实认为代码隐藏,甚至viewstate这个词会越多,你进入MVC就会从你的词汇中消失.
如果你看一下MVC的开源项目,你会得到你应该做的答案.
该MVC的Contrib应用程序通过创建扩展方法和助手增加了很多功能.它们的网格控制是创建可以在项目中使用的可重用组件的典型方法
Telerik创建了一些包含jquery控件并进行资产管理的扩展.
| 归档时间: |
|
| 查看次数: |
1836 次 |
| 最近记录: |