【发布时间】:2021-09-30 04:36:36
【问题描述】:
我有一个布局页面,其结构在其中使用导航栏和@RenderBody()。
后来我做了一个方法来生成页面和导航栏本身。因此,导航栏不再固定。
然后我制作了一个局部视图来循环浏览导航栏项目并将它们显示在布局中的相同位置。但我不知道如何在布局中导入模型。
我想知道有没有可以触发动作的标签助手?返回所需的模型
我的布局是这样的
<html lang="en">
<head>
...
</head>
<body>
<header>
<partial name="_NavBar" model="????" />
</header>
<main class="mb-3">
<div class="container-fluid">
@RenderBody()
</div>
</main>
<footer id="footer" class="border-1 border-top border-primary">
<div class="container-fluid py-4">
<div class="copyright">
© Copyright
</div>
</div>
</footer>
@RenderSection("Scripts", required: false)
</body>
</html>
有什么想法可以显示这个导航部分吗?或者也许使用另一个标签助手?或任何可能的解决方案?
【问题讨论】:
-
您可以创建一个服务来提供您需要的数据并在您的部分中使用
@inject。 BR -
@RoarS。那个怎么样?你的意思是像 ViewModel 这样的东西吗?
-
这听起来像是使用 ajax 从服务器获取数据并使用 $('#id').append(html_content) 生成带有数据的自定义视图并在浏览器中显示。
-
查看View Components。它们实际上等效于在页面上执行一个孤立的操作,并且可以用作标签助手。
标签: html asp.net-mvc asp.net-core