У меня есть простое действие:
[HttpPost]
public virtual ActionResult New(Feedback feedback)
{
feedback.CreatedDate = DateTime.UtcNow;
if (TryValidateModel(feedback))
{
FeedbackRepository.Add(feedback);
var model = new Feedback
{
SuccessfullyPosted = true
};
return PartialView(MVC.Shared.Views._FeedBackForm, model);
}
return PartialView(MVC.Shared.Views._FeedBackForm, feedback);
}
Итак, идея в том, что если полученные данные проверяются нормально, вернуть частичное представление с пустой сущностью обратной связи.Дело в том, что если я посмотрю на ответ firebug, я увижу старые значения, возвращающиеся, как странно это?
Форма выглядит так:
@using (Ajax.BeginForm(MVC.Feedback.New(), new AjaxOptions
{
UpdateTargetId = "contactsForm",
HttpMethod = "post"
}))
{
<br />
<p>
@Html.LabelFor(x => x.FirstName)
@Html.EditorFor(x => x.FirstName)
@Html.ValidationMessageFor(x => x.FirstName)</p>
<p>
@Html.LabelFor(x => x.LastName)
@Html.EditorFor(x => x.LastName)
@Html.ValidationMessageFor(x => x.LastName)</p>
<p>
@Html.LabelFor(x => x.Email)
@Html.EditorFor(x => x.Email)
@Html.ValidationMessageFor(x => x.Email)</p>
<p>
@Html.LabelFor(x => x.Phone)
@Html.EditorFor(x => x.Phone)
@Html.ValidationMessageFor(x => x.Phone)</p>
<p>
@Html.LabelFor(x => x.Comments)<br />
@Html.TextAreaFor(x => x.Comments, new { cols = 60, rows = 10 })
@Html.ValidationMessageFor(x => x.Comments)
</p>
if (Model.SuccessfullyPosted)
{
Feedback sent successfully.</p>
}
<p>
</p>
}
Возможно ли как-то отключить этоповедение и как PartialView(MVC.Shared.Views._FeedBackForm, model)
удается получить другую модель?
обновление: я вижу, что stackoverflow съел весь html из вида и не может найти, как это исправить.