我在努力弄清楚如何我的模型(未修改)传回回我的控制器。 我已经试过我的视图模型结合到许多不同的HTML.Helpers,什么不是。 我可以让我的数据绑定和显示,但我不能让视图模型回发到我的控制器。
我有以下的ViewModels:
public class MediaProviderViewModel : ViewModelBase
{
public int MediaProviderId { get; set; }
public string MediaProviderName { get; set; }
public static MediaProviderViewModel FromEntity(MediaProvider entity)
{
if (entity == null)
{
return (null);
}
return (new MediaProviderViewModel()
{
MediaProviderId = entity.MediaProviderId,
MediaProviderName = entity.Name,
});
}
public static IEnumerable<MediaProviderViewModel> FromEntityList(IEnumerable<MediaProvider> entities)
{
return entities == null ? null : entities.Select(FromEntity).OrderBy(mp => mp.MediaProviderName);
}
}
public class SystemConfigViewModel : ViewModelBase
{
[DisplayName("Media Providers")]
public IEnumerable<MediaProviderViewModel> MediaProviders { get; set; }
public SystemConfigViewModel()
{
}
public static SystemConfigViewModel FromEntity(Entities db)
{
return new SystemConfigViewModel()
{
MediaProviders = MediaProviderViewModel.FromEntityList(db.MediaProviders)
};
}
}
控制器:
public class SystemConfigController : CommonBaseController
{
//
// GET: /SystemConfig/
public ActionResult Index()
{
SystemConfigViewModel model = SystemConfigViewModel.FromEntity(_db);
return View(model);
}
[HttpPost]
public ActionResult Index(SystemConfigViewModel model)
{
return View(model);
}
视图:
<html>
<body>
@using (Html.BeginForm("Index", "SystemConfig"))
{
@Html.ListBoxFor(model => model.MediaProviders, new SelectList(Model.MediaProviders, "MediaProviderId", "MediaProviderName"), new { @size = "30" })
}
</body>
</html>
我试图通过项目迭代和索引他们像这样的:
//处于包围与不同的助手环
model => model.MediaProviders[i].MediaProviderId
仍然没有传回。 我能得到一些帮助,以什么我做错了吗? 我试着用搜索引擎,但没有真正的价值弹出我的情况。