是否有可能将C#变量写入ko.observable()变量? 例如,我有两个单选按钮(true和false),其中“data-bind =”checked:isEvent“。我需要在渲染这两个radiobuttons之前使用@ Model.isEvent初始化这个ko.observable - ”isEvent“值,检查适当的radiobutton。
答案 0 :(得分:2)
或者,您可以将模型序列化为文档头部的单个变量,然后以这种方式访问属性,这样您就不必在视图中包含整个视图模型。
根据您的评论,这里有一个更完整的示例,说明这将如何运作。
在您的布局页面中:
@using Newtonsoft.Json
<!-- this should already be referenced in your project, but if not use Nuget to install it -->
<!DOCTYPE html>
<head>
<title>Title</title>
<script type="text/javascript">
var model = @Html.Raw(JsonConvert.SerializeObject(Model));
//Alternatively, you can omit any serialization, and just use:
var isEvent = @Model.isEvent;
</script>
<script src="path_to_view_model.js"></script>
</head>
在您的KO视图模型中:
function ViewModel() {
var self = this;
self.isEvent = ko.observable(model.isEvent);
}
答案 1 :(得分:1)
是的,你可以。
isEvent = ko.observable(@Model.isEvent);
这将生成以下javascript:
isEvent = ko.observable(true);