これは私の組み合わせモデルです:
public class AddArticleModel
{
public TBL_ARTICLES Article { get; set; }
public IEnumerable<TBL_CATEGORIES> Categories { get; set; }
}
そして使用モデルであるコントローラー。
public ActionResult AddArticle()
{
AddArticleModel AddArticleModel = new AddArticleModel();
AddArticleModel.Categories = entity.TBL_CATEGORIES.Select(a => a);
return View(AddArticleModel);
}
そして見る:
@model DunyaYazilim.Models.AddArticleModel
@{
ViewBag.Title = "AddArticle";
}
@using (Html.BeginForm((string)ViewBag.FormAction, "Home"))
{
<fieldset>
<legend>Add Article Form</legend>
<ol>
<li>
@Html.DropDownListFor(m => m.Categories, Model.Categories.Select(c => new SelectListItem { Text = c.Name, Value = c.CategoryID.ToString() }), "-----Select Category----")
</li>
</ol>
<input type="submit" value="Send" />
</fieldset>
}
そしてコントローラーの投稿されたメソッド:
[HttpPost]
public ActionResult AddArticle(AddArticleModel AddArticleModel)
{
//Insert operations:
return View(AddArticleModel);
}
私の質問:フォームを投稿すると、エラーが発生します:オブジェクト参照がオブジェクトのインスタンスに設定されていません。インライン:13
Line 12: <li>
Line 13: @Html.DropDownListFor(m => m.Categories, Model.Categories.Select(c => new SelectListItem { Text = c.Name, Value = c.CategoryID.ToString() }), "-----Select Category----")
Line 14: </li>
Line 15: <li>
この理由は何ですか?
注:このサイトには多くの例があります。それらの多くを試しましたが、エラーの理由を見つけることができませんでした。
ありがとう。