после составления формы, необходимой для регистрации на сайте (Registration.cshtml), данные формы отправляются в sqlite db (успешно). Возвращаясь к этому, я хочу, чтобы меня отправили на веб-страницу Main.cshtml. Проблема заключается в том, что контроллер Action, предназначенный для отображения представления Main.cshtml, этого не делает.
Я много раз пытался изменить методы Redirect / RedirectToAction и View, но это была ошибка.
return View("Main");
return RedirectToAction("Main");
return JavaScript("window.location = window.location.origin + /Pages/Main");
PagesController.cs
[HttpPost]
public ActionResult Register {
if (insert data in db == true) {
return RedirectToAction("Main");
}
return View();
}
public ActionResult Main(){
return View();
}
Main.cshtml
@{
Layout = "~/Views/Layouts/LoggedMasterPage.cshtml";
ViewBag.Title = "Benvenuto in ETL365";
}
@section Head{
<link rel="stylesheet" href="~/Content/Main.css" />
<script type="text/javascript" src="~/Scripts/Main.js"></script>
}
Часть моего Register.js
$("#register").dxButton({
text: "Registrati",
type: "normal",
hint: "Clicca per registrarti",
onClick: function () {
if($('#password').
dxValidator('instance').validate().isValid &&
$('#email').dxValidator('instance').validate().isValid) {
let email = $("#email").dxTextBox('instance').option('value');
let pass = $("#password").dxTextBox('instance').option('value');
$.ajax({
url: window.location.origin + '/Pages/Register',
type: "POST",
data: '{"email":"' + email + '","password":"' + pass + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
});
}
}
});
Я уже использовал точки останова на Main.cshtml, и он действительно появляется после
return View();
выполнено действием Main ().
То, что я ожидаю, будет перенаправлено на mylocalhost: xxxx / Pages / Main
То, что я получаю, абсолютно ничего, я всегда нахожусь в mylocalHost: xxxx / Pages / Register