有没有办法在 ASP.NET MVC 中使用服务器控件?
具体来说,我需要在我的应用程序中使用 FarPoint Spread 控件来显示服务器上存在的 Excel 文件,并能够在客户端上实时显示更新。
我想使用 MVC 而不是 webforms 的原因是最终我们将废弃 excel 文件并以编程方式创建视图,但我现在必须显示这些文件,因为我们没有时间在这个阶段创建该功能.
有没有办法在 ASP.NET MVC 中使用服务器控件?
具体来说,我需要在我的应用程序中使用 FarPoint Spread 控件来显示服务器上存在的 Excel 文件,并能够在客户端上实时显示更新。
我想使用 MVC 而不是 webforms 的原因是最终我们将废弃 excel 文件并以编程方式创建视图,但我现在必须显示这些文件,因为我们没有时间在这个阶段创建该功能.
我的建议是对需要自定义控件的页面使用 WebForms,对其他所有内容使用 MVC。为了在同一个应用程序中混合 MVC 中的 WebForms,您需要调用 IgnoreRoute,以便 MVC 不会尝试处理 .aspx 文件,并且您需要确保将 WebForms 所需的所有内容添加到 web.config。Scott Hanselman在这里有一篇很棒的博客文章,其中包含详细信息。
FarPoint 最近发布了一个在 MVC 平台上支持的 Spread 组件。您可以浏览哪个博客,其中提供了有关将 Spread 与 MVC 3 一起使用的详细信息。希望对您有所帮助。
http://www.gcpowertools.info/2011/12/using-grapecity-spread-for-net-with-mvc.html
我不确定 FarPoints 控件是如何工作的,但如果它与我使用的 aspose 单元组件类似,我认为你不会有任何问题。
据我所知,没有什么可以阻止您在 MVC 应用程序的任何地方使用普通的 webforms 控件,只是大多数依赖于 ViewState 和回发模型(不存在),因此无法正常工作。
实际上没有为 aspose excel 控件呈现任何 UI,因此您应该能够创建一个对象,调用一些方法进行设置,然后将生成的文件流式传输到响应,就像您在单击按钮时一样事件。
这都是假设的,如果这不起作用,我提前道歉!