0

我过去一直在用经典的 asp 开发 web 应用程序。我们听说过 MVVM 样式和 knockoutJS。我们认为这可以更好地改善客户端响应时间,并在淘汰赛、html(在 aspx 页面中)和 webservice(asmx)编码的帮助下继续使用 MVVM。

在我们所有的标记中,我们避免使用 aspx 控件并使用带有敲除绑定的 html 标签。仅出于使用会话状态的必要性,我们在 aspx.cs 上编写了一些代码

但是,我不确定这是使用 MVVM 的正确做法(或)在使用敲除、html 和 asmx 构建应用程序方面是否有其他一些缺点。

对此的任何评论都将为我们指明一条光明的道路。

4

1 回答 1

2

我认为将数据、视图模型和视图 html 分开是个好主意。

视图的 html(包含数据绑定属性)应由 asp.net 提供。视图模型将包含客户端业务逻辑,并将存储在单独的 js 文件中。然后,您将使用 Web 服务将数据发送到客户端,最好以 json 格式交付,以便在客户端上轻松反序列化。

viewmodels 将知道如何从 web 服务请求数据,并且也将知道如何在数据到达后更新自己。如果您正确设置数据绑定属性,界面将根据视图模型中的更改自动更新。

至于页面的初始状态(首次加载时),您可以使用 html 传递初始数据集(只需将 json 写入 html 中的 js 变量中),或者在页面加载时设置“加载”状态,并从 web 服务请求数据。

然后你需要决定你希望你的应用在多大程度上表现得像一个单页应用。您是否会经常向服务器提交页面或发出大量 ajax 请求?当我们过去在一个非常大的项目中这样做时,我们构建了应用程序的各个部分,例如单页应用程序,而其他东西(主要是无聊的部分,例如用户管理)是标准表单,带有标准提交。

最后,决定在 web 服务(服务器端)中运行多少业务逻辑和在视图模型(客户端)中运行多少。

于 2013-11-05T09:40:24.947 回答