MVC 3 Webapp - модель Binder - PullRequest
       2

MVC 3 Webapp - модель Binder

2 голосов
/ 03 августа 2011

Я создаю свое первое приложение MVC, и на одной из страниц нужно перечислить ряд вопросов из таблицы в базе данных. Я настроил модель:

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>

}

Итак, я просматриваю список и помещаю их на страницу, но при отправке список является нулевым. Кто-нибудь знает, где я иду не так?

В общем, я делаю, отправляя список вопросов на страницу, чтобы пользователь заполнил и отправил ответы, но я не получаю ответы ни для одного из списков.

1 Ответ

0 голосов
/ 03 августа 2011

пожалуйста, посмотрите на мой ответ на этот вопрос . он содержит некоторые сообщения в блоге, посвященные этой проблеме. Кроме того, прочитайте комментарий Яркса относительно ответа, в котором он предоставил ссылку на сообщение, которое помогло ему решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...