Я полна мозгов в течение полутора дней, и я в тупике.Целевая страница Mvc3 не показана после сообщения Ajax
У меня есть сайт Mvc3, и я реализую мастер (многоступенчатая форма).
На первой странице отображается модель с контроллера, и она сериализована для Javascript.
Все идет хорошо методу пост ниже:
$('#nextButton').click(function (evt) {
// Validate the form, if validation passes, submit the form.
evt.preventDefault();
var $form = $('form');
if ($form.valid()) {
var viewModel = JSON.stringify(model);
$.post(
"SampleSubmission/Home/Index",
{ 'viewModel': viewModel }
);
}
});
Затем он попадает в действие контроллера ниже:
[HttpPost]
public ActionResult Index(string viewModel)
{
_viewModel = JsonConvert.DeserializeObject<SampleSubmissionViewModel>(viewModel);
// Save Model to Session.
Session[SessionViewModel] = _viewModel;
// If platform Id != null, workflow has already begun.
if (ModelState.IsValid)
{
return RedirectToAction("SystemDetail");
}
return View(_viewModel);
}
[HttpGet]
public ActionResult SystemDetail()
{
// Page 2- System Details.
return View(_viewModel);
}
Перенаправление работает, но не вторая страница не отображается.
Если я посмотрю в Fiddler, страница будет возвращена, как и должно быть.
Я храню модель в сессии, потому что это интранет-сайт, прежде чем кто говорит :-)
Любые идеи о том, как показать вторую страницу?
Приветствия,
Жюль комментарий
Почему вы используете запрос ajax, если все, что вы хотите сделать, это отправить в действие и затем перенаправить? Если вы все еще хотите использовать ** Ajax/jQuery.post **, вам нужно сделать sth. с ответом, возвращенным из вашего действия, с помощью необязательного параметра 'callback' http://docs.jquery.com/Post. Btw. вы никогда не должны жестко указывать URL-адреса в asp.net mvc. – Andreas
Привет, Андреас, Есть предложения по поводу того, как это сделать? - все еще учится –
Я использую вариацию этого решения: http://stackoverflow.com/questions/6402628/multi-step-registration-process-issues-in-asp-net-mvc-splitted-viewmodels-sing?answertab= голосов # tab-top – Andreas