Csharp/C#教程:是否可以在ASP.NET MVC项目中利用ICommand?分享


是否可以在ASP.NET MVC项目中利用ICommand?

基本上,我正在创建一个可移植的类库,并创建一堆ViewModel:

public class CustomerViewModel : ViewModelBase { public string FirstName { ... } // INPC public string LastName { ... } // INPC public string FullName { get { return FirstName + " " + LastName; } } public ICommand DoFooCommand { get; private set; } // DelegateCommand private bool CanDoFoo(object parameter) { ... } private void DoFoo(object parameter) { ... } } 

如果我想要WinRT和WPF应用程序的可重用性,这很好,但是我如何利用这个类用于ASP.NET MVC网站? 似乎我必须将这个类所做的一切都包装到Controller中。 此外,ICommand甚至可用于ASP.NET MVC应用程序吗?

我真的不希望有一个客户端MVVM javascript库,它只是我的视图模型的重新编码版本。

在MVC ViewModels中直接使用它至少是毫无意义和function失调的。 这是因为与WPF中的MVVM不同,ViewModel的实例不会跨交互(点击,POST等)保留,而是重新创建。 因此整个INPC(INotifyPropertyChanged)不起作用。

ICommand需要根据视图数据绑定的其他属性启用/禁用,但MVC中的数据绑定(可以这么说)是一次性(渲染),这也会使这个概念变得无用。

抱歉,MVVM和MVC不兼容。 几年前我遇到了同样的问题,试图跨平台重用东西,但我做不到。 甚至没有使用T4(文本模板),我试图将(WPF-ish)ViewModel类转换为更可接受的MVCforms。

上述就是C#学习教程:是否可以在ASP.NET MVC项目中利用ICommand?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/942732.html

(0)
上一篇 2021年11月13日
下一篇 2021年11月13日

精彩推荐