5

在 ASP.NET 网络表单中,我们有服务器组件,可以将其封装到外部程序集中并作为产品交付。在 ASP.NET MVC 中,我们没有服务器组件,那么外部组件的最佳选择是什么?

环顾四周,似乎唯一可能的选择是制作一个Html 辅助方法,该方法返回一堆操纵事物的 html + js。如果组件需要一些逻辑,添加一些新路由的 http 模块和在同一个外部程序集中定义的控制器来处理 ajax 调用。

否则RenderPartial只返回一个视图...但是视图是一个真实的文件,因此很难封装在外部程序集中,除非它被添加为资源文件,然后使用查看资源文件而不是真实位置的路径提供程序检索磁盘。

或者还有其他我没有考虑的选择吗?

谢谢西莫

4

5 回答 5

2

由于服务器端逻辑与客户端逻辑完全分离,因此为 Asp.Net MVC 同时制作服务器端和客户端组件并不是很有用。您可以更好地制作纯 Html/Javascript 组件,并且可以在多个平台(Ruby on rails、php、python、java)上使用,并提供如何在多个平台上集成它们的教程。您开发的平台不是asp.net mvc,而是一般的网络浏览器!Ext JS 框架是一个很好的灵感来源

于 2008-10-31T21:26:45.883 回答
1

没有什么能阻止您开发自定义控件(例如,对于花哨的网格)、将其封装在程序集中并发送它

但这仅适用于第一次渲染:如果我想让网格可排序/可分页/可编辑等等怎么办?

于 2008-10-31T20:17:42.653 回答
0

除了 Html 帮助器之外,ASP.NET MVC 完全支持自定义控件和用户控件。没有什么能阻止您开发自定义控件(例如,对于花哨的网格)、将其封装在程序集中并发送它。我错过了问题的重点吗?

于 2008-10-31T20:13:10.917 回答
0

如果你想做,比如说,排序和分页,一种方法是通过 AJAX。Telerik 在他们的 grid 中有一个演示

于 2008-10-31T21:11:07.133 回答
0

试试 MVCContrib 的 PortableArea。这似乎是您正在寻找的东西。即使不是,源代码也可以帮助您实现目标。

演示视频: http: //www.viddler.com/explore/c4mvc/videos/11/

于 2010-12-21T09:12:51.157 回答