繁体   English   中英

在dotnet core中的视图组件之间共享模型

[英]Share a model between view components in dotnet core

我有一个包含多个视图组件的布局,所有这些组件都使用相同的viewmodel和控制器

所以我该如何在所有对象之间共享同一个ViewModel实例?

这是我的布局:

<!DOCTYPE html>
<html lang="es">
<head prefix="og: http://ogp.me/ns#">
    @await Component.InvokeAsync("Metadata", Share-Model)
</head>
<body>
    @await Component.InvokeAsync("Header", Share-Model)
    <article id="main-content-article">
        @await Component.InvokeAsync("Cover", Share-Model)
    </article>
    <section id="rest-fold-content">
        @RenderBody()
        <footer id="main-footer">
            @await Component.InvokeAsync("Footer")
        </footer>
    </section>

</body>
</html>

您几乎得到了:

// inside View Component
public async Task<IViewComponentResult> InvokeAsync(SharedModel sharedmodel) { ... }

内* .cshtml:

@model MyApp.Models.SharedModel
...
    <article id="main-content-article">
    @await Component.InvokeAsync("Cover", new { sharedmodel = model } )
</article>

请注意,匿名类中的属性与InvokeAsync方法中的参数具有相同的名称。 但是,所有内容都清楚地记录在文档中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM