Вызов и привязка функции C# к кнопке на страницах Razor, Umbraco - PullRequest
2 голосов
/ 22 апреля 2020

Я хочу связать эту уже существующую функцию с кнопкой. Функция протестирована и она полностью работает. Для меня важно хранить весь код на одной странице бритвы.

@functions
{
    public void LogCheck()
    {
        string loginemail = Request["loginemail"];
        string loginpassword = Request["loginpassword"];
        string requestedUrl = "/randomtestpage1/";

        IMember memberIfApproved = SC.Code.Controllers.UserController.GetByEmail(loginemail);

        if (Membership.ValidateUser(loginemail, loginpassword))
        {
            FormsAuthentication.SetAuthCookie(loginemail, true);
            Response.Redirect(requestedUrl);
        }
    }    
}
<form id="loginForm">
  <div class="form-group">
    <div class="form-group">
      <label class="sr-only form-control-label">Email</label>
      <div class="mx-auto col-sm-10">
        <input class="form-control" name="loginemail" type="email"/>
      </div>
    </div>

    <div class="form-group">
      <label class="sr-only form-control-label">Password</label>
      <div class="mx-auto col-sm-10">
        <input class="form-control" name="loginpassword" type="password"/>
      </div>
    </div>
  </div>

  <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>
</form>

Я попытался добавить onclick="@LogCheck()" к элементу кнопки, но это испортило синтаксис.

Сообщение об ошибке компилятора: CS1502: лучшее совпадение перегруженного метода для 'System.Tuple.Create (object, int)' имеет недопустимые аргументы

Я также пытался вызвать его с jQuery, но снова ошибка.

$('#loginbtn').click(function() {
    @LogCheck();
}); 

Я попробовал все упомянутое здесь .

...