Asp.net mvc 3 如何动态创建局部视图

Asp.net mvc 3 如何动态创建局部视图,asp.net-mvc-3,partial-views,Asp.net Mvc 3,Partial Views,我的数据库中有一个名为Programs的表。我想为每个程序显示一个选项卡。我正在尝试创建一个局部视图来执行此操作,然后我想将该局部视图包含到需要这些选项卡的每个视图中。我的局部视图如下所示 <div id="tabs"> <ul> <li id="HomeTab">@Html.ActionLink("Dashboard", "Index", "Home")</li> <li id="Program1T

我的数据库中有一个名为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>

但是我不确定这样做是否正确。

最好的解决方案是将程序集合传递给您的视图

@model IQueyrable<Program>
<div id="tabs">
    <ul>
    @foreach (var ptype in Model)
    {
       <li>@Html.RenderPartial("ProgramTab", ptype)</li>
    }
    </ul>
</div>
@model IQueyrable
    @foreach(模型中的变量类型) {
  • @RenderPartial(“ProgramTab”,ptype)
  • }
因此,您必须创建另一个局部视图,在其中显示程序详细信息。 如果您想像选项卡一样组织这些内容,那么应该使用类似jquery选项卡的内容


您不必使用actionlink,只需RenderPartial或RenderAction即可

只需添加一些代码即可。参见上文您查看了编辑器模板吗?是的。我使用了编辑器模板。它们仍然是“视图”,无法直接访问模型。您不必使用actionlink just renderpartial或renderactiongreat idea to user RenderAction。谢谢你@Bohdansort,尽管没有人回答我最初的问题,我所做的是否是错的
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())
@model IQueyrable<Program>
<div id="tabs">
    <ul>
    @foreach (var ptype in Model)
    {
       <li>@Html.RenderPartial("ProgramTab", ptype)</li>
    }
    </ul>
</div>