这是我做类似的情况: 1)创建编辑语言视图模型
public class LanguagesModel
{
public IEnumerable<int> SelectedLanguageIds { get; set; }
public MultiSelectList languages { get; set; }
}
2)填充控制器型号:)
public ActionResult Index()
{
List<Language> languages = _languageService.GetLanguages();//however you get the languages from your datasource
var temp = new MultiSelectList(
languages.Select(l => new { Value = l.LanguageId.ToString(), Text = l.Name }),
"Value",
"Text");
LanguagesModel model = new LanguagesModel();
model.languages = temp;
return View(model);
}
3创建查看使用DropDownListFor帮手:
@model LanguagesModel
@using (Html.BeginForm(Html.BeginForm("Index", "Home", FormMethod.Post, new { enctype = "multipart/form-data" })))
{
@Html.ValidationSummary(true)
<fieldset>
@Html.ListBoxFor(m => m.SelectedLanguageIds, Model.languages)
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
}
请小心取代您实际使用的“操作”和“控制器”的“索引”和“主页”。
编辑更改了代码以使用ListBox而不是DropDownList。由达林季米特洛夫的回答启发