0

我刚刚开始学习 KnockoutJS,如果这个问题看起来很傻,请原谅我,但是使用 ASP MVC 3 框架如何从我的选择屏幕获取信息到我的添加/编辑视图中。

基本上,我使用 MVCScaffold 为我拥有的每个模型构建了一个基本控制器,其中包含索引、创建、编辑、_CreateEdit 和其他几个视图。这在使用模型时工作正常,因为控制器创建它们并将它们传递到我的视图中,但是现在我正在尝试使用 Knockout,所以我认为我不应该传递模型但是一旦在视图中使用 $get 来获取数据要显示在视图上的服务器。话虽如此,一旦我从我的选择视图进入我的编辑/添加屏幕,我如何知道使用 $get 函数获取什么记录。我还应该将一些信息传递给模型吗?似乎必须有比这更好的方法。我只是不确定最佳实践。

我还有一个添加和编辑屏幕,但都使用 _CreateEdit 的部分视图,所以如果我在创建或编辑视图中创建我的视图模型,我该如何访问它或将其传递给我的部分视图?

4

1 回答 1

0

取决于,您是否尝试使用Razorwith Knockout?如果是这样,那么您处于混合情况,其中一些东西可能来自Razor- 模型,而另一些可能来自 ajax 调用。

我猜你的$get应该是 $.get()我们称之为Ajax电话

另一方面,如果您想要更纯净Knockout,那么您可能会使用 aWebAPI Controller代替。

如果您想从您的 mvcController中返回一个Knockout易于阅读的模型,请执行以下操作:

if (this.Request.IsAjaxRequest()) return Json(model,JsonRequestBehavior.AllowGet);
于 2013-02-01T18:50:29.650 回答