如何使用他们的视图模型为我的所有视图写一行?
How can I write a line for all my views using their view model?
我在所有视图的开头使用以下行:
<script> var viewModel = @Html.Raw(JsonConvert.SerializeObject(Model)); </script>
我这样做是为了从我的 javascript 框架中管理视图模型,但我更喜欢以某种方式集中那条线而不是将它写在我所有的视图中,我不确定我是否可以做到在视图布局中,因为 Razor 不知道此时的视图模型类型。
我怎样才能将所有视图都放在一个地方?
ViewData 字典(和页面模型)在 razor 执行布局代码时可用。因此您可以在布局上执行此操作。
<script>
var mySecretApp = mySecretApp || {};
@if (!ViewContext.IsChildAction)
{
@:mySecretApp.pageViewModel = @Html.Raw(JsonConvert.SerializeObject(Model));
}
console.log('viewmodel', mySecretApp.pageViewModel);
</script>
我在所有视图的开头使用以下行:
<script> var viewModel = @Html.Raw(JsonConvert.SerializeObject(Model)); </script>
我这样做是为了从我的 javascript 框架中管理视图模型,但我更喜欢以某种方式集中那条线而不是将它写在我所有的视图中,我不确定我是否可以做到在视图布局中,因为 Razor 不知道此时的视图模型类型。
我怎样才能将所有视图都放在一个地方?
ViewData 字典(和页面模型)在 razor 执行布局代码时可用。因此您可以在布局上执行此操作。
<script>
var mySecretApp = mySecretApp || {};
@if (!ViewContext.IsChildAction)
{
@:mySecretApp.pageViewModel = @Html.Raw(JsonConvert.SerializeObject(Model));
}
console.log('viewmodel', mySecretApp.pageViewModel);
</script>