我的数据库中有一个名为 Programs 的表。我想为每个程序显示一个选项卡。我正在尝试创建一个局部视图来执行此操作,然后我想将局部视图包含到需要具有这些选项卡的每个视图中。我的部分视图如下所示。
<div id="tabs">
<ul>
<li id="HomeTab">@Html.ActionLink("Dashboard", "Index", "Home")</li>
<li id="Program1Tab">@Html.ActionLink("Program1", "Index", "Program")</li>
<li id="Program2Tab">@Html.ActionLink("Program2", "Index", "Program")</li>
</ul>
</div>
我希望使用类似的东西动态创建标签
@foreach (var ptype in Model)
{
<li id=\"@ptype.Name\"Tab>@Html.ActionLink(ptype.Name, "Index", "Project")</li>
}
但是我想知道如何在不使用控制器的情况下加载选项卡。我可以使用辅助类/方法绕过控制器直接访问模型吗?
更新:我也尝试创建一个辅助方法
namespace MyProject.Helpers
{
public class ProgramTypes
{
public static List<ProgramType> ProgramTypesList()
{
MyDbContext db = new myDbContext();
return db.ProgramTypes.ToList<Programtype>();
}
}
}
然后使用
@foreach (var ptype in MyProject.Helpers.ProgramTypes.ProgramTypesList())
但是我不确定这是否是正确的做法。