Мое перенаправление на действие попадает в метод в контроллерах чата / индекса, но фактически не перенаправляет пользователя, оно просто остается на той же странице. Как это исправить? Я могу перейти к просмотру через URL, чтобы не было ошибок в этом отношении.
Контроллер чата
[Authorize]
public ActionResult ChatRoom()
{
return View();
}
Домашний контроллер
[AllowAnonymous]
public ActionResult Index()
{
return View();
}
[HttpPost]
[AllowAnonymous]
public ActionResult Login(String username, String password)
{
bool ValidUser = UserDBController.ValidateUser(new Models.UserModel
{
UserName = username,
PasswordHash = HashPass(password)
});
password = String.Empty;
if (ValidUser)
{
FormsAuthentication.SetAuthCookie(username, true);
return RedirectToAction("ChatRoom", "ChatRoom");
}
ViewBag.Username = username;
return RedirectToAction("Index","Home");
}
Индекс
@{
ViewBag.Title = "Home Page";
}
<div class="container">
@Html.Partial("_LoginPartial")
</div>
Частичный вход в систему
@{
ViewBag.Title = "Login";
}
<div class="LoginForm">
<div class="row">
<div class="col-md-12 input">
@Html.TextBox("Username", null, new { @class = "form-control", @id = "username", @placeholder = "Username", required = "required", value = !String.IsNullOrEmpty(ViewBag.username) ? ViewBag.username : "" })
</div>
</div>
<div class="row">
<div class="col-md-12">
@Html.TextBox("Password", null, new { @class = "form-control", @type = "password", @id = "password", @placeholder = "Password", required = "required" })
</div>
</div>
<button type="button" class="login-btn btn btn-primary">Login</button>
</div>
Jquery
$('.login-btn').click(function (e) {
$.ajax({
type: "POST",
url: "/Home/Login",
data: {
userName: $('#username').val(),
password: $('#password').val()
}
}).done(function (data) {
});
});