データベースに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())
しかし、これが正しいことかどうかはわかりません。