INotifyPropertyChanged,这在 MVC 等 Web 应用程序中如何工作或如何工作?
INotifyPropertyChanged, How or does this work in web apps such as MVC?
我想了解此事件是否适用于网络应用程序?我知道此事件在 WPF/Winforms 中非常强大,但对于 webform 或 mvc 应用程序,我看不出它如何正常工作。
关于本机与 Web 这两种情况,我主要关心的是一旦数据(Mvc 模型)被发送到客户端。服务器端事件如何触发并神奇地更新两侧的模型 属性 值(如果确实如此)?
INotifyPropertyChanged
不适用于 ASP.NET MVC。
因为 Web 应用程序中的客户端是浏览器,所以您仅限于(大部分)基于 Javascript 的解决方案。您可以使用 jQuery 的 'change' 事件,然后使用 AJAX 将数据发送回服务器:
// the email input has changed
$('#email').on('change', function() {
// send the changes to the server
$.post('/url', { email: $('#email').val() });
});
熟悉 Javascript 及其在浏览器中的工作方式后,您可以使用 AngularJS, or Vue.js 之类的框架来处理绑定和通知(这与 WPF 的方式最相似作品)。
虽然您不能轻易地在使用 HTML 和 JavaScript 构建的网页中使用它,但有一些努力包括但不限于 Uno Platform 和 Ooui,其中视图可以是绑定到视图模型,因此在 VM 中的 属性 发生变化时进行更新。
正如评论中提到的,另一种选择是使用某种基于套接字的通信,其中服务器 [viewModels] 中的更改可以通过 SignalR 或 WebSync 之类的东西传达给客户端。
我想了解此事件是否适用于网络应用程序?我知道此事件在 WPF/Winforms 中非常强大,但对于 webform 或 mvc 应用程序,我看不出它如何正常工作。
关于本机与 Web 这两种情况,我主要关心的是一旦数据(Mvc 模型)被发送到客户端。服务器端事件如何触发并神奇地更新两侧的模型 属性 值(如果确实如此)?
INotifyPropertyChanged
不适用于 ASP.NET MVC。
因为 Web 应用程序中的客户端是浏览器,所以您仅限于(大部分)基于 Javascript 的解决方案。您可以使用 jQuery 的 'change' 事件,然后使用 AJAX 将数据发送回服务器:
// the email input has changed
$('#email').on('change', function() {
// send the changes to the server
$.post('/url', { email: $('#email').val() });
});
熟悉 Javascript 及其在浏览器中的工作方式后,您可以使用 AngularJS, or Vue.js 之类的框架来处理绑定和通知(这与 WPF 的方式最相似作品)。
虽然您不能轻易地在使用 HTML 和 JavaScript 构建的网页中使用它,但有一些努力包括但不限于 Uno Platform 和 Ooui,其中视图可以是绑定到视图模型,因此在 VM 中的 属性 发生变化时进行更新。
正如评论中提到的,另一种选择是使用某种基于套接字的通信,其中服务器 [viewModels] 中的更改可以通过 SignalR 或 WebSync 之类的东西传达给客户端。