MVC4 を使用してフォームを送信しようとしていますが、送信後にエラーが発生する理由がわかりません。関連するすべてのコードと、表示されているエラーを以下に貼り付けました。
エラー:
The ViewData item that has the key 'Group' is of type 'System.String' but must be of type 'IEnumerable<SelectListItem>'.
コントローラ:
[HttpGet]
public ActionResult CreateRole()
{
var RM = new myModel();
RM.Groups = RM.InitializeGroupList();
return View(RM);
}
[HttpPost]
public ActionResult Myfunction(myModel model)
if (ModelState.IsValid)
{
//Execute Update
}
モデル:
[Required]
[Display(Name = "Group")]
public string Group { get; set; }
public IEnumerable<SelectListItem> Groups;
public IEnumerable<SelectListItem> InitializeGroupList()
{
List<SelectListItem> topOfList = new List<SelectListItem>
{
new SelectListItem { Value = string.Empty, Text = "Category" },
new SelectListItem { Value = "Administrator", Text = "Administrator" },
new SelectListItem { Value = "Partner", Text = "Partner" },
new SelectListItem { Value = "Internal", Text = "Internal" }
};
//IEnumerable<SelectListItem> list = db.GetRoleList(topOfList);
IEnumerable<SelectListItem> list = topOfList;
return new SelectList(list, "Value", "Text");
}
[Required]
[Display(Name = "Group")]
public string Group { get; set; }
public IEnumerable<SelectListItem> Groups;
意見:
@Html.DropDownListFor(model => model.Group, Model.Groups)