【问题标题】:Using Sencha's ExtJS MVC with ASP.NET MVC使用 Sencha 的 ExtJS MVC 和 ASP.NET MVC
【发布时间】:2011-07-15 13:50:21
【问题描述】:

我想问一下是否有人尝试过将 Sencha 的 ExtJS 4(使用 MVC 方法)与 ASP.NET MVC(使用视图模型)结合使用?

我有现有的使用视图模型的 ASP.NET MVC 3 应用程序,我的问题是这将如何“适合”Sencha 的 MVC 方法......ASP.NET MVC“视图模型”会变成 ExtJS“模型”然后我将为 ExtJS 定义另一个“视图模型”......似乎有很多“翻译”......

最好的方法是什么?

是的,我知道使用 Ext.Direct 将 ASP.NET MVC 与 ExtJS 集成的项目,但我的问题与“双方”(ASP.NET 和 Sencha ExtJS)的 MVC 范例严格相关

谢谢 Z...

【问题讨论】:

  • 与您的问题无关,但也许您应该查看Dextop
  • @Marko 有趣...但是,乍一看,它似乎更适合“常规” ASP.NET(与 ASP.NET MVC 相比)...

标签: asp.net-mvc viewmodel extjs4 extjs extjs-mvc


【解决方案1】:

我们目前的方法是一种可以描述为 MVCCM 或 MVC-CM 的方法。 在 ExtJs 中,您将视图作为面板和框等,带有模型的商店创建模型,您需要一些逻辑来使这些组件协同工作,这将是控制器。

这个 ExtJs 前端位于 MVC3 项目中,并公开控制器方法,这些方法通常返回 Json 数据,这些数据是从通常由实体组成的模型后端获取的。

服务器端的实体与商店客户端中定义的模型之间没有编程链接。可以从实体生成商店,但我们尚未对此进行研究。

Microsoft MVC3 框架中的视图只是一个返回一些 div 标签的页面,ExtJS 可以将内容渲染到这些标签中。

【讨论】:

    【解决方案2】:

    虽然我没有用 ExtJS 做这件事,但我真的不认为有任何冲突。我在这里做了很多假设,我知道,但是如果 ExtJS 与 JSON 一起工作,并且你有 ASP.NET MVC 动作会发出 JSON,那么这实际上更像是一种哲学上的差异,而不是技术上的差异。

    与普通 MVC 应用程序的一个区别是您的 ASP.NET MVC 应用程序可能没有任何视图,因为视图将完全由 ExtJS 处理。

    从服务器端,ASP.NET MVC 真的不在乎 - 它获取映射到控制器和操作的请求,处理请求并返回一些结果。无论结果是 HTML、JSON、XML 还是其他什么,ASP.NET 都不在乎。

    【讨论】:

    • 我同意你的观点,ASP.NET MVC 应用程序不会有它自己的 视图(ExtJS 会有),但是 ASP.NET MVC 应用程序将返回一个“视图模型”供 ExtJS 使用。我难以理解的是如何将“视图模型”映射到也使用 MVC 方法的 ExtJS 应用程序中......
    • “视图模型”这个词实际上对于 MVC 来说是相当陌生的,并且很可能让您与 MVVM 模式混淆。对于您的问题,ASP.NET MVC 应用程序的 JsonResult 操作需要返回与 ExtJS 中定义的结构匹配的 JSON 对象。但是,这并不一定意味着它们必须与 ASP.NET MVC 模型相匹配 - 您可以在操作中按照您的需要构建数据。因此,您将在 ExtJS 中定义一个模型,并在 ASP.NET MVC 中定义一个发出与该模型匹配的数据的操作。但是,您选择在 ASP.NET“模型”中构建它真的取决于您。
    • 我熟悉 MVC 和 MVVM 模式...除了常规的域模型之外,还有很多 ASP.NET MVC 应用程序使用“视图模型”。但正如你所说,在 ASP.NET MVC 结束时,该操作必须返回 JsonResult,它代表 ExtJs 中的“模型”......
    猜你喜欢
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多