Razorpage выполняет функцию, связанную с кнопкой при загрузке самой страницы - PullRequest
0 голосов
/ 23 апреля 2020

Это моя страница 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>
...