Есть ли возможность написать переменную C# в переменной ko.observable()? Например, у меня есть два переключателя (true и false) с параметром «data-bind =» checked: isEvent ». Мне нужно инициализировать это значение ko.observable -« isEvent »с помощью @ Model.isEvent прямо перед рендерингом этих двух радиокнопки, чтобы получить надлежащую радиокнопка проверилаMVC4 C# и KnockoutJS. Инициализация ko.observable с C# значением
ответ
в качестве альтернативы, вы можете сериализовать модель в одной переменные в главы вашего документа, а затем таким образом, чтобы вам не приходилось включать всю вашу модель представления в ваше представление.
Основываясь на ваших комментариях, вот более полный пример того, как это будет работать.
В вашей странице макета:
@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);
}
Да, вы можете
isEvent = ko.observable(@Model.isEvent);
Это сгенерирует следующий JavaScript:..
isEvent = ko.observable(true);
Где я поставлю это определение? – Kamilius
В любом Javascript-коде, который у вас есть, чтобы его инициализировать. –
- 1. Применить атрибут css от ko.observable в knockoutjs?
- 2. Jquery таблица данных с knockoutjs, requirejs и mvc4
- 3. инициализация пустой страницы разрывов; knockoutJS
- 4. C# Accessor и инициализация
- 5. c Объявление и инициализация
- 6. Инициализация ссылок в C++
- 7. C# MVC4 значение привязки с переменной контроллера
- 8. C++ std Инициализация списка с постоянным значением, изменяет ли производительность?
- 9. C# Инициализация массива - с не значением по умолчанию
- 10. Инициализация массива [c/C++]
- 11. Инициализация нескольких структурных объектов C++ и C
- 12. razor mvc4 и C# codebehind
- 13. C++ инициализация
- 14. knockoutjs: как восстановить или ловушку недостающего ko.observable() или ko.computed()
- 15. Инициализация и указатель структуры C
- 16. Перемещение и инициализация списка C++
- 17. knockoutjs изображение ЦСИ не получать обновленные от ko.observable
- 18. C++ указатель и инициализация объекта
- 19. C++ Xerces-c: Инициализация shared_ptr
- 20. Инициализация массива C++ и назначение
- 21. C++: инициализация Struct и карты
- 22. C статических переменных и инициализация
- 23. Инициализация и назначение в c
- 24. Объявление и инициализация C-структуры
- 25. C++ инициализация автоматики и объем
- 26. Инициализация структур C++ из C
- 27. Инициализация последовательного интерфейса с arduino и C
- 28. Инициализация размера массива C++
- 29. Инициализация структуры C - интересно
- 30. Инициализация нескольких указателей с одинаковым значением с единственной инициализацией в C/C++
Мне не нужно сериализовать весь объект, мне нужно только одно поле. Также это находится в представлении View (not Main), поэтому у меня нет «головы». – Kamilius
Кроме того, я не могу на самом деле найти класс «JsonConvert» ... – Kamilius
У меня есть небольшая проблема с объявлением этого в макете макета, потому что модель не всегда имеет тип, у которого есть поле isEvent. – Kamilius