У меня есть следующая модель, используемая для викторины. Я пытаюсь отправить форму и передать существующую модель обратно в Action, поскольку она уже была инициализирована в действии Index.Сохранение модели после отправки формы
public class QuizModel
{
private List<string> _Responses;
public List<string> Responses
{
get
{
if (_Responses == null)
{
_Responses = new List<string>() { "Response A", "Response B", "Response C", "Response D" };
}
return _Responses;
}
}
public int? SelectedIndex { get; set; }
public string Question { get; set; }
}
Со следующим видом:
<div class="title">Question</div>
<span id="question">@Model.Question</span>
@if (!Model.UserHasAnswered)
{
using (Html.BeginForm("Submit", "Quiz", FormMethod.Post))
{
for (int i = 0; i < Model.Responses.Count; i++)
{
<div class="reponse">@Html.RadioButtonFor(m => m.SelectedIndex, i)@Model.Responses[i]</div>
}
<input type="submit" value="This is the value" />
}
}
else
{
<div id="explanation">@Model.Explanation</div>
}
и контроллер ...
//
// GET: /Quiz/
public ActionResult Index()
{
QuizModel model = new QuizModel()
{
Question = "This is the question",
Explanation = "This is the explanation",
UserHasAnswered = false
};
return PartialView(model);
}
//
// POST: /Quiz/Submit
[HttpPost]
public ActionResult Submit(QuizModel model)
{
if (ModelState.IsValid)
{
int? selected = model.SelectedIndex;
model.UserHasAnswered = true;
}
return View("Index", model);
}
Когда модель приходит на Submit действия содержит только SelectedIndex и не вопрос или свойства Объяснения , Как я могу передать свое представление о том, чтобы передать оригинальную модель, полученную им обратно в действие «Отправить»?
Тем не менее не в состоянии получить доступ к той же самой модели из Submit действия. Когда форма отправляется в действие Submit, я бы хотел, чтобы она получила ту же модель, которая была инициализирована в действии Index. – jimmyjambles
@jimmyjambles, проверьте свою модель в действии Submit. –
Я, модель входит только с выбранным свойством selectedIndex, а свойства Question и Explanation равны нулю. – jimmyjambles