在ASP.NET webforms中,我们有服务器组件,可以封装到外部程序集中并作为产品提供。在ASP.NET MVC中,我们没有服务器组件,那么外部组件的最佳选择是什么?
环顾四周似乎唯一可能的选择就是制作一个 Html helper 方法,该方法返回一堆操纵事物的html + js。如果组件需要一些逻辑,那么一个http模块会添加一些新的路由,并在同一个外部程序集中定义一个控制器来处理ajax调用。
否则 RenderPartial 只返回一个视图...但是视图是一个真实的文件,因此很难封装在外部程序集中,除非它被添加为资源文件然后使用看起来像路径提供程序检索进入资源文件而不是磁盘上的真实位置。
或者我还有其他选择吗?
THX 西莫
答案 0 :(得分:2)
由于服务器端逻辑与客户端逻辑完全分离,因此为Asp.Net MVC创建服务器端和客户端组件并不是真正有用。您可以更好地制作纯Html / Javascript组件,并且可以在多个平台上使用(Ruby on rails,php,python,java),并提供如何将它们集成到多个平台上的教程。 您开发的平台不是asp.net mvc,而是一般的Web浏览器!灵感来源是Ext JS Framework
答案 1 :(得分:1)
没有什么可以阻止你开发一个自定义控件(对于花式网格,比如说),将它封装在一个程序集中并运送它
但是这只适用于第一次渲染:如果我想让网格可排序/可分页/可编辑等等怎么办?
答案 2 :(得分:0)
除了Html帮助程序外,ASP.NET MVC还完全支持自定义控件和用户控件。没有什么可以阻止你开发一个自定义控件(对于一个花哨的网格,比方说),将它封装在一个组件中,并运送它。我错过了问题的重点吗?
答案 3 :(得分:0)
如果你想做,比如排序和分页,一种方法是通过AJAX。 Telerik has a demo of this with their grid
答案 4 :(得分:0)
从MVCContrib尝试PortableArea。这似乎是你在寻找的东西。即使不是,源代码也可以帮助您实现目标。