【问题标题】:Combine ViewModel (WPF/Silverlight) and strongly-typed ViewData (ASp.NET MVC)?结合 ViewModel (WPF/Silverlight) 和强类型 ViewData (ASp.NET MVC)?
【发布时间】:2010-01-18 23:38:50
【问题描述】:

注意:在下文中,我将对 WPF/Silverlight 中的 ViewModel 和 ASP.Net MVC 中的强类型 ViewData 使用术语“ViewModel”。

我想为同一个项目创建 ASP.Net MVC 和 WPF/Silverlight 客户端(换句话说,针对同一个 DataModel),我应该为每个客户端技术创建一个通用 ViewModel 项目还是一个单独的 ViewModel?

我愿意相信一个通用的 ViewModel 是正确的做法,但是创建依赖属性或 JSON 字符串的需要使它看起来不兼容。

也许另一种解决方案是将 ViewModel 的公共部分放入 DataModel 层?

如果能帮助我找到正确的方向,我将不胜感激,谢谢

【问题讨论】:

    标签: asp.net wpf asp.net-mvc viewmodel viewdata


    【解决方案1】:

    由于 Silverlight 项目无法引用非 Silverlight 项目的限制(由 Visual Studio 强加),您将需要单独的 ViewModel(尽管有一个或两个记录在案的黑客可以解决此问题)。

    您可以在两个项目之间共享代码,方法是将物理类放在一个项目中,然后将现有项目添加到第二个项目(导航到并选择原始类,然后单击“添加为链接”)。小提示:如果您认为要以这种方式共享一个类,请尽可能保持命名空间中立,这样可以避免混淆和/或进一步重构。

    【讨论】:

    • 感谢您的回复。但你在谈论一个不同的问题。可能我不应该提到 Silverlight,只是 ASP.NET MVC 和 WPF 之间的 ViewModel 的一些代码重用技术。
    猜你喜欢
    • 2011-07-07
    • 2011-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多