Я создаю веб-приложение MVC5 и хочу сделать динамический просмотр страницы с помощью Knockout.js. Тем не менее, я обнаружил, что Knockout.Mapping, похоже, не работает правильно в моем проекте.Как я могу сделать Knockout.Mapping работать в ASP.NET Web App?
Как вы видите, Intellisense не предлагает плагин отображения (я включил ссылку плагина в _reference.js). И он не может показать второе предупреждение, написанное, когда я завершаю эту строку насильственно.
Должен ли я сделать что-то еще, чтобы оно работало правильно?
@if (false)
{
<script src = "~/Scripts/knockout-3.4.0.js" ></script >
<script src = "~/Scripts/knockout.mapping-latest.js"></script >
}
<script type="text/javascript" src="@Url.Content("~/Scripts/knockout-3.4.0.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/knockout.mapping-latest.js")"></script>
//~~body~~//
<script type="text/javascript">
alert("1");
var json = '@Html.Raw(Json.Encode(Model))';
b = ko.mapping.fromJson(json); //"mapping" is not suggested when "ko." is put.
//b = ko.mapping.fromJson(Model); //mistake at the original post
ko.applyBindings(b);
alert("2"); // not showed when the previous two lines is active.
</script>
Вы не пытались установить модель в начале страницы с помощью @model, не так ли? – Guto
Да, я помещаю «@model ...», ссылаясь на viewmodel в начале cshtml. –
Я обнаружил, что совершил ошибку в коде и не загрузил скриншот. Я изменил сообщение, оставив исходные строки. Извините за недоразумение. –