私はビューを持っています。asp.netのドロップダウンリスト
@Html.DropDownListFor(model => model.rent_month,
(IEnumerable<SelectListItem>)ViewBag.months)
私はモデルクラスにメソッドをしました(PostManager)のように数ヶ月のリストを生成するために:私は数ヶ月を得る
public IEnumerable<SelectListItem> GetMyMonthList()
{
return CultureInfo.CurrentCulture.DateTimeFormat.MonthNames
.Select(m => new SelectListItem() { Text = m, Value = m });
}
ビューでは、私は(データベースでnvarchar型)ヶ月のフィールドをしましたよるgetアクションに:私のモデルで
public ActionResult Create()
{
PostModel p = new PostModel();
ViewBag.months = pm.GetMyMonthList();
return View(p);
}
私の月属性:
[Required(ErrorMessage = "You Must Select a Month.")]
[Display(Name = "Select Rent Month")]
public string rent_month { get; set; }
キー「rent_month」があり
のViewData項目は次のとおりです。それは後にフォームを送信し、それがエラーを与えるのDropDownList correctly.But月発生
public ActionResult Create(PostModel p)
{
if (ModelState.IsValid)
{
post post = new Models.DB.post();
post.rent_month = p.rent_month;
db.posts.AddObject(post);
db.SaveChanges();
}
}
:ポストアクションで
「IEnumerableを」タイプ「可能System.String」がなく、型でなければならないこのエラーの解決策...事前のおかげである今何
...
モデルとコントローラをご提示ください。 –
フォームに送信したアクションをコントローラに表示してください。 –
あなたはCreateアクション全体ですか?意見を返すアクションの部分を示してください。 – DMulligan