Я не могу получить значения (вложенные циклом for) моего представления в контроллер

Просмотреть

 @for (int i = 1; i < Convert.ToInt32(Model.qc_choice) + 1; i++)
        {
            <span>Question @i</span>
            @Html.TextAreaFor(m => m.MTfull[i].qc_selectedchoice)

            <span>Answer @i</span>
            @Html.TextBoxFor(m => m.MTfull[i].qc_answer)
            <br />
        }
        <p>
            <input type="submit" value="Create" name="submitBtn" />
        </p>

Контроллер

    [HttpGet]
    public ActionResult checkMT(string quiz_id)
    {
        List<Models.QuizMaker> qm = new List<Models.QuizMaker>();
        var model = new Models.QuizMaker
        {
            act_id = quiz_id,
        };
        return View(model);
    }

    [HttpPost]
    public ActionResult checkMT(QuizMaker qm)
    {
        return RedirectToAction("createMatchingType", "QuizMaker", new { quiz_id = qm.act_id, choice = qm.qc_choice });
    }

    [HttpGet]
    public ActionResult createMatchingType(string quiz_id, string choice)
    {
        List<Models.QuizMaker> qm = new List<Models.QuizMaker>();
        var model = new Models.QuizMaker
        {
            act_id = quiz_id,
            qc_choice = choice,
        };
        return View(model);
    }

Вот как заполняется qc_choice, он исходит от пользователя

затем он зациклит элементы управления тем, сколько пользователь ввел.

Но что бы я ни делал, значение модели List MTfull всегда равно нулю в моей справке по контроллеру, и это очень ценится.


person Renz Zz    schedule 06.02.2016    source источник
comment
Как заполняется модель? Можете ли вы вставить свой код Controller/ViewModel?   -  person Darren    schedule 06.02.2016
comment
Разве вы уже не задавали этот вопрос здесь: заголовок stackoverflow.com/questions/35066534/ и ТАКЖЕ как другой пользователь здесь: stackoverflow.com/questions/35037333/ ? Почему бы вам не следить за ответами + генерировать больше дубликатов пользователей?   -  person Orel Eraki    schedule 06.02.2016
comment
@OrelEraki, разве ты не можешь просто ответить на мой вопрос, а не указывать мне на другие темы?   -  person Renz Zz    schedule 06.02.2016
comment
Почему ваш MTfull должен быть нулевым, если вы никогда не заполняете его в контроллере (как я понимаю, метод createMatchingType заполняет модель для этого представления)?   -  person Oleg Sh    schedule 06.02.2016
comment
@OlegSh, я просто не показывал свой метод публикации, но заполнил его. в любом случае, я только что решил свою проблему. Спасибо за ответ ;)   -  person Renz Zz    schedule 06.02.2016


Ответы (1)


Проблема в операторе цикла for.

@Html.TextAreaFor(m => m.MTfull[i].qc_selectedchoice)

это означает, что ожидается индекс [i] и i = 1,

он не принимает индекс, если 1 вместо этого изменил его на 0.

список принимает индекс 0, а не индекс 1

person Renz Zz    schedule 06.02.2016