gpt4 book ai didi

asp.net-mvc - 创建 knockout ViewModel 时使用 Razor 模型的问题

转载 作者:行者123 更新时间:2023-12-04 04:51:12 25 4
gpt4 key购买 nike

在设置 knockout VM 时,我在 javascript 调用中使用模型时遇到问题。

@model List<AdminGui.Models.Domain>

<script src="http://ajax.aspnetcdn.com/ajax/knockout/knockout-2.2.1.js" type="text/javascript"></script>
<script type="text/javascript">
function ViewModel() {
var self = this;

self.domains = ko.observableArray(
ko.utils.arrayMap(@Model, function(item) {
return new Domain(item.guid, item.description, item.namespaces);
}));
}

我在 ko.utils.arrayMap 调用中遇到 @Model 语法错误。我怀疑可能是我的 Razor 缺少... :)

最佳答案

Model是你的 C# 模型,它不能直接从 JavaScript 中使用,因为写 @Model只需调用ToString这不是你需要的。

您需要将模型转换为 JSON,您可以使用 Json.Encode方法

self.domains = ko.observableArray(
ko.utils.arrayMap(@Html.Raw(Json.Encode(Model)), function(item) {
return new Domain(item.guid, item.description, item.namespaces);
}));

注意:你需要用 Html.Raw 包裹它关闭 Razor 中的自动 HTML 编码。

关于asp.net-mvc - 创建 knockout ViewModel 时使用 Razor 模型的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17417691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com