私は最初のMVCアプリケーションを作成していますが、そのうちの1つはデータベースのテーブルから一連の質問をリストする必要があります。私は、セットアップしているモデル:MVC 3 Webapp - Model Binder
public class Audit
{
public DateTime InspectionDate { get; set; }
public string Engineer { get; set; }
public List<AuditGroup> AuditGroups { get; set; }
}
public class AuditGroup
{
public string GroupName { get; set; }
public List<AuditQuestion> AuditQuestions { get; set; }
}
public class AuditQuestion
{
public string Group { get; set; }
public string Question { get; set; }
public string Answer { get; set; }
public string Comments { get; set; }
}
モデルがリストに含まれている、私が作成というページを作成し、グループ内のグループや質問をモデルに取り込まれ、これらはページの罰金に表示されます。私が質問に答える(テキストボックスに記入)し、送信ボタンを押すと、それは、コントローラを呼び出します。
[HttpPost]
public ActionResult Create(Audit newAudit)
{
try
{
// TODO: Add insert logic here
return RedirectToAction("Index");
}
catch
{
return View();
}
}
newAuditは、エンジニアや検査日付のデータを持っていますが、バインダーは、ページ上のリストを拾っていません。だからここに私はリストを通過すると、ページ上でそれらを置くことが、上のリストがヌルで提出しています
@{
ViewBag.Title = "Audit";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@model test.Models.Audit
<h2>
Audit</h2>
@using (Html.BeginForm())
{
<fieldset>
@foreach (var AuditGroups in Model.AuditGroups)
{
@Html.EditorFor(x=> AuditGroups.GroupName)
}
</fieldset>
<p>
<input type="submit" value="Create" />
</p>
}
:これは、私はそれを動作するようにしようとしている伐採バージョンです。誰かが私が間違っていることを知っていますか?
私がやっていることは、質問リストをページに送信し、ユーザーが記入して回答を提出することですが、いずれのリストに対しても回答が得られません。
こんにちは、お返事ありがとうございます。私はhttp://ivanz.com/2011/06/16/editing-variable-length-reorderable-collections-in-asp-net-mvc-jpegからサンプルコードをダウンロードしました。パート1 /あなたが推奨しているように、私は必要なもののように見えます。あなたは投稿しています... – MartGriff