我在共享的adminheader.cshtl视图中添加了一个下拉列表,它需要根据表中的数据进行动态更新。因此,当我使用另一个视图(如routeplan.cshtml)时,我从使用routeplanmodel的routeplancontroller加载视图。接下来我需要一个adminheader.cshtml的控制器,这会让人感到困惑。除了加载routeplanmodel之外,从routeplancontroller更新adminheadermodel.cs和adminheader.cshtml的最佳方法是什么?
这是adminheader的模型
public class AdminHeaderModel
{
public string UserId { get; set; } = null!;
public string Domain { get; set; } = null!;
public string Link_Type { get; set; } = null!;
public string Icon { get; set; } = null!;
}
这是要加载到adminheader.cshtml中的下拉列表的代码
@foreach (AdminHeaderModel hdr in Model)
{
<div class="dropdown-item light-box-container account selected" rel=".com" data-id=@hdr.DataId>
<div class="account-info">
<img src=@hdr.Icon>
<span class="account-name">@hdr.Domain</span>
</div>
<div class="account-actions">
if (hdr.Link_Type == "0")
{
<div class="account-status pass">Connected</div>
<div class="account-select"><i class="fas fa-check-circle"></i></div>
}
else
{
<div class="account-status warn"><i class="fas fa-exclamation"></i>Connect</div>
<div class="account-select"><i class="far fa-check-circle"></i></div>
}
</div>
</div>
}
有人能帮我找出最简单的方法来加载我的adminheadermodel从我的routeplancontroller或如果我需要一个adminheadercontroller,如何实现它。
1条答案
按热度按时间ki0zmccv1#
如果你想让你的
adminheader.cshtml
从数据库动态更新数据,你可以使用视图组件来实现它。首先创建一个名为
ViewComponents
的文件夹,然后在该文件夹中创建一个名为AdminheaderViewComponent
的类。把你的
adminheader.cshtml
放在这个结构下。使用
@await Component.InvokeAsync("Adminheader")
在其他页面调用adminheader.cshtml
。Gif Demo
从上面的gif演示中,我在
index.cshtml
中调用adminheader.cshtml
,当我在index.cshtml
中插入一个AdminHeaderModel
到数据库中时,adminheader.cshtml
将动态更新数据库中的数据。希望这个demo可以帮助你解决这个问题。