问题标签 [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.
wpf - WPF - 在页面/窗口级别响应 ViewModel 更改的最佳方式
我正在开发一个 XBAP,我有一个简单的要求。
整个DataContext
主页的 设置为 my 的一个实例UserViewModel
。UserViewModel
有一个DependencyProperty
被调用的AuthenticationState
对象,它是一个枚举值,例如 ' Authenticated
'、' NotAutheticated
' 和 ' AuthenticationFailed
'。
现在,我需要通过隐藏/显示页面上的各种元素来响应此值的任何变化。
最好的方法是什么(以及在哪里)?
asp.net-mvc - ASP.net MVC - ViewModel 对象和会话变量
假设我有以下情况:
- 分页视图显示具有以下路由的联系人列表:联系人/索引/页面/2。
- View 获取其分页数据 ViewModel 对象。
- View 还从 ViewModel 中获取其过滤器属性,例如 Contact Category。
我想将页码和过滤器属性存储在某处,以便当用户返回联系人/索引页面时,应用相同的页码和过滤器。
将这些属性存储在 Session 变量中是一种好习惯吗?ViewModel 是否应该处理这些 Session 变量?
有没有另一种方法来解决这种情况?
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 将其导出。
有什么建议么?提前致谢!史蒂夫
.net - CustomViewData 的最佳方式?
将自定义属性添加到侧宽 ViewDataDictionary 的最实用方法是什么?
让我们假设一个简单的案例:
首先想到的是一个自定义类并在应用程序基础控制器中使用“new”:
我假设您还必须创建一个具有相同属性的相应 CustomViewPage 才能在视图中使用自定义视图数据字典。
想到的第二件事是创建一个 ViewDataDictionaryExtensions 类。
第三,使用“视图模型”。我对 View Models 的不满是总是创建一个并将其传递给 View 似乎在控制器代码中一遍又一遍地重复自己,至少与前两个选项相比。
真正的目标是每个应用程序可能在 ViewData 中有一组核心属性,这些属性对于该应用程序的目的是有意义的。我倾向于回避依赖字典键,如果有真正的属性让其他开发人员依赖一个来知道要设置什么数据,那就太好了。此外,键很容易拼写错误。
这三种方法都能完成工作。别人做了什么?
asp.net-mvc - MVC 自定义 ViewModel 和自动绑定
我有一个自定义 ViewModel 定义为:
在我的编辑 POST 处理程序中,我有以下条目:
编辑表单设置为:
它只是爆炸,不知道发生了什么,有以下错误:没有为这个对象定义无参数构造函数。当然,我在这里遗漏了一些非常明显的东西。在某些背景下,GET 可以完美运行,并按预期显示 SelectList 中的下拉列表。我猜想自动绑定回自定义视图模型是失败的,但不知道该怎么做。
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>
.
asp.net-mvc - ASP.NET MVC - 母版页和视图页的不同模型
我有一个强类型的母版页,但我想对它的某些子页使用不同的类型。
例如,在母版页上...
Client 已经是一个复合对象,因此在某些子页面上我可以保持相同的模型并仅引用成员对象。但是在其他页面上,这样做没有意义,因为我正在处理不同的模型,例如,处理 Customer 模型的子页面。
我的母版页仍然需要客户端模型,但子视图将完全适用于不同的模型。问题是,在控制器中,您只能将一个对象模型传递给视图。有没有办法将一个模型传递给主模型,将另一个模型传递给视图?谢谢!
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:(模型)
asp.net-mvc - DataAnnotationsModelBinder 如何与自定义 ViewModel 一起使用?
我正在尝试使用DataAnnotationsModelBinder以便在 ASP.NET MVC 中使用数据注释进行服务器端验证。
只要我的 ViewModel 只是一个具有直接属性的简单类,一切都可以正常工作,例如
但是,尝试使用 complex 时的DataAnnotationsModelBinder
原因,例如NullReferenceException
ViewModel
对于呈现多个 LINQ 实体的视图来说,这是一个大问题,因为我真的更喜欢使用ViewModel
包含多个 LINQ 实体的自定义而不是无类型的 ViewData 数组。
DefaultModelBinder
没有这个问题,所以它看起来像一个错误DataAnnotationsModelBinder
。有什么解决方法吗?
编辑:一种可能的解决方法当然是在 ViewModel 类中公开子对象的属性,如下所示:
但我宁愿不必编写所有这些额外的代码。这种DefaultModelBinder
层次结构可以正常工作,所以我认为DataAnnotationsModelBinder
也应该如此。
第二次编辑:看起来这确实是DataAnnotationsModelBinder
. 但是,希望在下一个 ASP.NET MVC 框架版本发布之前解决这个问题。有关更多详细信息,请参阅此论坛主题。
viewmodel - ViewModel 模式最大的痛点是什么?
Glenn Block 和我一直在研究 ViewModel 模式。我们一直在尝试确定与该模式相关的最大痛点,目标是添加框架支持以减轻痛苦。
今晚,格伦发布了“查看模型”——这部电影,投出你的一票。我们希望收到你的来信。请在此处发布(并投票)关于实现 ViewModel 模式(也称为 Model-View-ViewModel 或 MVVM)的最大痛点。告诉我们该框架如何让您的生活更轻松!
我们正在研究 WPF 和 Silverlight。
那么告诉我们,您希望框架做什么来使 ViewModel 更容易?