使用不同的模型渲染视图

时间:2013-08-26 06:56:56

标签: asp.net-mvc listboxitem asp.net-mvc-partialview dhtmlx-scheduler

我面临一个简单的问题,在另一个视图中呈现视图。请帮助 我有一个控制器和一个视图使用单独的模型渲染dhtmlx调度程序(模型来自一个DLL)

我需要在同一视图下放置一个使用单独模型的列表框。我知道视图仅限于一个模型。所以我很困惑如何将我的列表框放在调度程序的同一视图中。 这是我的代码:

Schedulercontroller.cs

Public Actionresult Index()
{

  var scheduler = new DHXScheduler();
...
code
...
return view(scheduler);

}

Index.cshtml

我把_notes放在了位置

Views/Scheduler/_notes



     <div id="dailynotesview">
              @*  @Url.Action("_notes","Scheduler");*@
              @*  @{Html.Partial("_notes","Scheduler");}*@
  @* @Html.Partial("../Shared/_Dailynote") *@
       @{Html.RenderAction("_notes","Scheduler");}
             </div>


     @Html.Raw(Model.GenerateLinks())

我尝试在视图中使用上面的方法将列表框放在同一页面中,但我得到的错误如下。 当我使用@Html.Partial("../Shared/_notes")时 传递到字典中的模型项的类型为“System.String”,但此字典需要“Proj.Models.DashboardModel”类型的模型项。

  @Url.Action("_notes","Scheduler");  
    @{Html.RenderAction("_notes","Scheduler");}

我没有错误,也没有看到列表框也被渲染。我也检查了检查元素。

1 个答案:

答案 0 :(得分:0)

您可以在主模型中添加List,如下所示,

public class ModelA
{
    // Model B Properties

    public IEnumerable<SelectListItem> YourList { get; set; }
}

然后在您的视图中,您可以按如下方式访问它

@foreach(var item in Model.YourList )
{

}