Это моя страница Razor. Я хочу, чтобы у меня была функция TestFunction()
, чтобы она запускалась, когда пользователь нажимает loginbtn , но по какой-то причине, когда я пытаюсь загрузить страницу, меня перенаправляют прямо на testpage1 без даже записывать в консоль что-нибудь или загружать любой элемент с начальной страницы.
Когда я рекомендую часть @{ TestFunction(); }
из jQuery, функция не выполняется. И моя страница появляется.
Почему это происходит, учитывая, что кнопка не нажата? И ничего не зарегистрировано в консоли.
Также я должен вернуть void (для перенаправления на другую страницу, если они хотят войти в систему / ошибка, если они не до go через проверку, если они пытаются чтобы войти в систему с неправильным адресом электронной почты / пароль, мне нужно, чтобы страница не обновлялась sh, только чтобы появилось сообщение об ошибке) или ActionResult ? Я не уверен, как я могу достичь обоих условий.
@functions {
public void TestFunction(){
string loginemail = Request["loginemail"];
string loginpassword = Request["loginpassword"];
string requestedUrl = "/testpage1/";
if(loginemail!=null)
{
//some logic for the login validation
}else{
Response.Redirect(requestedUrl);
}
}
}
<div class="form-group">
<div class="mx-auto col-sm-10 pb-1 pt-1">
<button id="loginbtn" type="button" class="btn btn-outline-secondary btn-lg btn-block">@Umbraco.AssignedContentItem.GetPropertyValue("signInButtonText")</button>
</div>
</div>
<script>
$(document).ready(function(){
$('#loginbtn').click(function() {
console.log('test');
@{ TestFunction(); }
});
});
</script>