嗨,我在index.cshtml页面中使用了部分视图。部分视图包含一个从数据库动态绑定的dropdownlist。如何使用模型在mvc 4的分部视图中绑定dropdownlist?
我不想使用viewbag或viewdata来绑定这个下拉列表。
在控制器
// GET: Reporting/Home
public ActionResult Index()
{
var view = View();
return view;
}
public ActionResult _ReportingMenu()
{
var DashboardList = GetAllDashboards();
return View(DashboardList);
}
public IEnumerable<DashboardDefinition> GetAllDashboards()
{
return _reortDefinitionService.GetAllDashboards();
}
在index.cshtml
@model IEnumerable<Portal.Domain.ReportingModule.ReportDefinition.DashboardDefinition>
@{
ViewBag.Title = "Reporting";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Reporting View</h2>
@Html.ActionLink("Add new Chart", "Create", "Chart", new { area = "Reporting" }, null)
@Html.Partial("_ReportingMenu")
在Partialview
@model Portal.Domain.ReportingModule.ReportDefinition.DashboardDefinition
<div class="nav navbar navbar-default navbar-no-margin submenu">
@Html.DropDownList("Mobiledropdown1",IEnumerable<Model.DashboardName>)
<a id="SubMenuIntegratorNew" class="btn btn-default submenu-item" href="#">
<i class="fa fa-file-o fa-lg"></i>
<span class="submenu-item-text">New</span>
</a>
<a id="SubMenuIntegratorSave" class="btn btn-default submenu-item" href="#">
<i class="fa fa-floppy-o fa-lg"></i>
<span class="submenu-item-text">Save</span>
</a>
<a id="SubMenuIntegratorSaveAs" class="btn btn-default submenu-item" href="#">
<i class="fa fa-files-o fa-lg"></i>
<span class="submenu-item-text">Save As</span>
</a>
<a id="SubMenuIntegratorAddChart" class="btn btn-default submenu-item" href="#">
<i class="fa fa-picture-o fa-lg"></i>
<span class="submenu-item-text">Add Chart</span>
</a>
</div>
,但我得到空模型的误差。
我不知道如何在局部视图实现
DropDownListFor()的'第二个参数''是的IEnumerable'(可能是或者你需要一个名为'Mobiledropdown1'一个'ViewBag'财产是'IEnumerable ')你的模型是什么(你真的有一个名为'Mobiledropdown1'的属性)为什么你不使用强类型的助手?并显示例外的全部细节。 –
存在@ Html.Partial(string viewName,object model),因此您可以将模型传递给强类型的局部视图。 –