问题标签 [viewmodel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
2266 浏览

wpf - WPF - 在页面/窗口级别响应 ViewModel 更改的最佳方式

我正在开发一个 XBAP,我有一个简单的要求。

整个DataContext主页的 设置为 my 的一个实例UserViewModelUserViewModel有一个DependencyProperty被调用的AuthenticationState对象,它是一个枚举值,例如 ' Authenticated'、' NotAutheticated' 和 ' AuthenticationFailed'。

现在,我需要通过隐藏/显示页面上的各种元素来响应此值的任何变化。

最好的方法是什么(以及在哪里)?

0 投票
1 回答
2746 浏览

asp.net-mvc - ASP.net MVC - ViewModel 对象和会话变量

假设我有以下情况:

  • 分页视图显示具有以下路由的联系人列表:联系人/索引/页面/2。
  • View 获取其分页数据 ViewModel 对象。
  • View 还从 ViewModel 中获取其过滤器属性,例如 Contact Category。

我想将页码和过滤器属性存储在某处,以便当用户返回联系人/索引页面时,应用相同的页码和过滤器。

将这些属性存储在 Session 变量中是一种好习惯吗?ViewModel 是否应该处理这些 Session 变量?

有没有另一种方法来解决这种情况?

0 投票
2 回答
511 浏览

wpf - 如何在 ViewModel 之间进行通信

我有一个带有 TabPage1 和 TabPage2 的 TabControl,在 TabPage1 中,还有另一个带有 2 个项目 TabPage11 和 TabPage12 的 TabControl1。
在 TabPage2 中,还有另一个 TabControl2,其中包含 2 个项目 TabPage21 和 TabPage22。

每个项目(TabPage11、TabPage12、TabPage21 和 TabPage22)都有自己的 View(以 UserControl 的形式)和 ViewModel。每个视图上都有 dataGrid。

现在我想为每个 dataGrid 实现 ExportToExcel 函数。我可以在每个 tabItem 上放置一个 ExportToExcel 按钮,但它看起来不太好。所以我在主窗口上放了一个按钮,这样当用户单击该按钮时,所选 tabItem 上的 dataGrid 就会得到处理。

问题是 mainWindow 上的按钮不知道如何告诉
所选 tabItem 的 ViewModel 将其导出。

有什么建议么?提前致谢!史蒂夫

0 投票
3 回答
126 浏览

.net - CustomViewData 的最佳方式?

将自定义属性添加到侧宽 ViewDataDictionary 的最实用方法是什么?

让我们假设一个简单的案例:

首先想到的是一个自定义类并在应用程序基础控制器中使用“new”:

我假设您还必须创建一个具有相同属性的相应 CustomViewPage 才能在视图中使用自定义视图数据字典。

想到的第二件事是创建一个 ViewDataDictionaryExtensions 类。

第三,使用“视图模型”。我对 View Models 的不满是总是创建一个并将其传递给 View 似乎在控制器代码中一遍又一遍地重复自己,至少与前两个选项相比。

真正的目标是每个应用程序可能在 ViewData 中有一组核心属性,这些属性对于该应用程序的目的是有意义的。我倾向于回避依赖字典键,如果有真正的属性让其他开发人员依赖一个来知道要设置什么数据,那就太好了。此外,键很容易拼写错误。

这三种方法都能完成工作。别人做了什么?

0 投票
2 回答
9193 浏览

asp.net-mvc - MVC 自定义 ViewModel 和自动绑定

我有一个自定义 ViewModel 定义为:

在我的编辑 POST 处理程序中,我有以下条目:

编辑表单设置为:

它只是爆炸,不知道发生了什么,有以下错误:没有为这个对象定义无参数构造函数。当然,我在这里遗漏了一些非常明显的东西。在某些背景下,GET 可以完美运行,并按预期显示 SelectList 中的下拉列表。我猜想自动绑定回自定义视图模型是失败的,但不知道该怎么做。

0 投票
2 回答
8103 浏览

asp.net-mvc - 如何使用 ASP.NET MVC 中的基本控制器创建强类型母版页

按照NerdDinners示例,我有兴趣创建一个强类型的母版页。为了实现这一点,我使用了一个基本控制器来检索母版页的数据。所有其他控制器都继承这个类。同样,我有ViewModels母版页和任何其他视图。视图ViewModel类继承自母版页的ViewModel.

问题

子控制器应如何确保将母版页的数据传递给视图而不设置ViewModel与母版页本身相关的属性?

我的母版页将显示许多按钮,这些按钮在 XML 文件中确定,因此Buttons是我要填充的类。

MasterPage ViewModel 代码片段

看法ViewModel

基本控制器

视图的控制器:

母版页继承System.Web.Mvc.ViewMasterPage<Site1.Models.MasterViewModel>.

视图继承System.Web.Mvc.ViewMasterPage<Site1.Models.View1ViewModel>.

0 投票
1 回答
3134 浏览

asp.net-mvc - ASP.NET MVC - 母版页和视图页的不同模型

我有一个强类型的母版页,但我想对它的某些子页使用不同的类型。

例如,在母版页上...

Client 已经是一个复合对象,因此在某些子页面上我可以保持相同的模型并仅引用成员对象。但是在其他页面上,这样做没有意义,因为我正在处理不同的模型,例如,处理 Customer 模型的子页面。

我的母版页仍然需要客户端模型,但子视图将完全适用于不同的模型。问题是,在控制器中,您只能将一个对象模型传递给视图。有没有办法将一个模型传递给主模型,将另一个模型传递给视图?谢谢!

0 投票
2 回答
373 浏览

wpf - 为什么这个 View 没有正确绑定到这个 ViewModel?

我正在尝试将我的视图绑定到没有 DataObjectProvider 的视图模型。

下面的代码运行没有错误,但我的 ListBox 是的。

据我所知,我是正确的:

  • 将 View 的 DataContext 设置为 ViewModel 本身 ( DataContext = new CustomersViewModel();)
  • 在 ViewModel ( public static ObservableCollection<Customer> GetAll())中公开客户对象
  • 将 ListBox 绑定到客户对象 ( ItemsSource="{Binding GetAll}")

我在这里缺少什么小语法?

客户视图.xaml:

客户视图.xaml.cs:

客户视图模型.cs:

Customer.cs:(模型)

0 投票
2 回答
3907 浏览

asp.net-mvc - DataAnnotationsModelBinder 如何与自定义 ViewModel 一起使用?

我正在尝试使用DataAnnotationsModelBinder以便在 ASP.NET MVC 中使用数据注释进行服务器端验证。

只要我的 ViewModel 只是一个具有直接属性的简单类,一切都可以正常工作,例如

但是,尝试使用 complex 时的DataAnnotationsModelBinder原因,例如NullReferenceExceptionViewModel

对于呈现多个 LINQ 实体的视图来说,这是一个大问题,因为我真的更喜欢使用ViewModel包含多个 LINQ 实体的自定义而不是无类型的 ViewData 数组。

DefaultModelBinder没有这个问题,所以它看起来像一个错误DataAnnotationsModelBinder。有什么解决方法吗?

编辑:一种可能的解决方法当然是在 ViewModel 类中公开子对象的属性,如下所示:

但我宁愿不必编写所有这些额外的代码。这种DefaultModelBinder层次结构可以正常工作,所以我认为DataAnnotationsModelBinder也应该如此。

第二次编辑:看起来这确实是DataAnnotationsModelBinder. 但是,希望在下一个 ASP.NET MVC 框架版本发布之前解决这个问题。有关更多详细信息,请参阅此论坛主题

0 投票
4 回答
1013 浏览

viewmodel - ViewModel 模式最大的痛点是什么?

Glenn Block 和我一直在研究 ViewModel 模式。我们一直在尝试确定与该模式相关的最大痛点,目标是添加框架支持以减轻痛苦。

今晚,格伦发布了“查看模型”——这部电影,投出你的一票。我们希望收到你的来信。请在此处发布(并投票)关于实现 ViewModel 模式(也称为 Model-View-ViewModel 或 MVVM)的最大痛点。告诉我们该框架如何让您的生活更轻松!

我们正在研究 WPF 和 Silverlight。

那么告诉我们,您希望框架做什么来使 ViewModel 更容易?