Я пытаюсь загрузить представление после вызова ajax. После вызова ajax мой метод действия вернет view
, который будет загружен после успешного завершения вызова.Render a View после вызова AJAX в asp.net MVC
AJAX Я использую
функции PostMethods (URL, имя_файла, LNAME, электронная почта) {
var userRegisterViewModel = { FirstName: fname, LastName: lname, Email: email }; $.ajax({ type: 'Post', dataType: "json", url: url, contentType: 'application/json', data: JSON.stringify(userRegisterViewModel),
// Успех и код ошибки
});}
Мой аякс вызывает метод api, где я прохожу fname
, lname
и email
. Теперь мой api-метод успешно сохраняет эти данные в базе данных, он вернет View
, если не сможет сохранить данные, он вернет сообщение об ошибке, которое я могу показать пользователю в текущем виде. В HTML текущего представления есть пустой <spam>
, чтобы отобразить сообщение об ошибке.
Мой метод Действие:
public ActionResult RegisterAndLogin(UserRegisterViewModel model)
{
ActionResult returnNextPage = null;
bool successToStoreData = SomeMethod(model);
if (successToStoreData)
{
returnNextPage = RedirectToAction(string.Empty, "Home");
}
else
{
//Text message to show to the user
}
return returnNextPage;
}
Какой код я должен написать, чтобы сделать это в AXAJ и метод действия
AJAX звонки остаться на той же странице, так что 'RedirectToAction' не работает. Вы хотите отобразить представление на той же странице или вы хотите перенаправить на другую страницу, если ошибок нет? –
@StephenMuecke Я хочу перенаправить на другую страницу. Но тогда и только тогда, когда данные успешно сохраняются. – Riki
Тогда почему бы не использовать стандартную форму с submit, которая позволяет вам делать перенаправление? Если данные не сохранялись правильно, просто верните представление и покажите все ошибки проверки. –