是否可以在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。
- MVC3 – 正在缓存AJAX部分视图……我无法阻止它
- AngularJS与ASP.NET MVC混淆
- 因此非常非常混淆asp.net mvc中的身份validation
- ASP.NET MVC重新编译限制达到了15个HostingEnvironment,启动了关闭HostingEnvironment导致关机
- 使用静态DbContext有什么缺点
- ASP.NET MVC中<%#和<%=有什么区别?
- Html.RenderPartial上的MVC System.Web.HttpCompileException
- 测试HtmlHelper时如何解决图像路径问题?
- 如何在重定向到ASP MVC中的另一个页面后保持Toastr Notification生效