Как отправить данные клиента на контроллер MVC для страницы входа и сохранить в базу данных? - PullRequest
0 голосов
/ 30 апреля 2018

Login.cshtml

<script type="text/javascript">
function data() {
    var n = document.getElementById("username").value;
    var m = document.getElementById("password").value;
    ?
</script>

<button  type="submit"class="btn-login" onClick="Data()">
                        Giriş Yap </button>

Контроллер аккаунта

  DBEntities dB = new DBEntities();
  [HttpPost]                         (username)       (password)
    public ActionResult Login(string KullaniciAdi,string Sifre)
    {
      //  Session[KullaniciAdi] = dB.Profil.Where(x => x.KullaniciAdi == KullaniciAdi && x.Sifre == Sifre).FirstOrDefault();
        var session = (from p in dB.Profil
                       where p.KullaniciAdi == KullaniciAdi
                       select p).FirstOrDefault();

        return View(); 
    }

Моя домашняя работа ООП - это веб-сайт, и я хочу создать логин с отправкой пароля и имени пользователя контроллеру и сравнить представленные данные и данные в базе данных. Пожалуйста, помогите:)

Ответы [ 3 ]

0 голосов
/ 30 апреля 2018

Вы можете отправить данные клиента с помощью ajax-запроса,

это ваши входы

<input id="username" type="text" />
<input id="password" type="password" /> 
<input id="loginbutton" onclick="UserLogin()" type="submit" value="Submit" />

Привязка кнопки привязки с функцией UserLogin js.

вот функция js. мы отправляем запрос на отправку сообщения ajax здесь нашему контроллеру

  <script type="text/javascript">
    function UserLogin() {
        var n = document.getElementById("username").value;
        var p = document.getElementById("password").value;

        var postObj = JSON.stringify({
            "username": n,
            "password": p
        });

        $.ajax({
            url: "/Home/Login", // endpoint
            type: "POST",
            data: postObj,
            contentType: "application/json; charset=utf-8",
            success: function (result) {
                // success
            },
            error: function (errorData) { onError(errorData); }
        });
    }
</script>

И ваш контроллер должен быть таким, вы можете реализовать логику входа в систему внутри метода.

  [HttpPost]
  public ActionResult Login(string username, string password)
  {
      // use your code loged in

      return Json(true, JsonRequestBehavior.AllowGet);
  }
0 голосов
/ 30 апреля 2018

Сначала вы создаете класс:

public class LoginModel
    {
        [Required(ErrorMessage = "User Name can not be empty!")]
        public string LOGINID { get; set; }

        [Required(ErrorMessage = "Password can not be empty!")]
        public string LOGINPW { get; set; }      

    }

Тогда ваш метод действия контроллера сделает это:

     public ActionResult Login()
     {           
         return View();    
     }

    [HttpPost]                         
    public ActionResult Login(LoginModel model)
    {

       //Here check the Login Id and Password 
        return View(); 

    }

Сейчас в поле зрения Напишите это. Теперь, когда вы нажимаете кнопку «Отправить», вы отправляете пост-вызов в контроллер входа с указанными LOGINID и LOGINPW:

@using (Html.BeginForm())
    {
        @Html.AntiForgeryToken()
        @Html.ValidationSummary(true)

         <!-- login screen -->  

                <form action="#">
                    @Html.TextBoxFor(m => m.LOGINID, htmlAttributes: new { @class = "form-control", placeholder = "Login ID" })
                    @Html.ValidationMessageFor(model => model.LOGINID, "", new { @class = "text-danger", style = "float: left" })

                    @Html.PasswordFor(m => m.LOGINPW, htmlAttributes: new { @class = "form-control", placeholder = "Password" })
                    @Html.ValidationMessageFor(model => model.LOGINPW, "", new { @class = "text-danger", style = "float: left" })


                    <button type="submit" class="btn btn-primary" style="background: #2e6da4; color: #FFF;">Login</button>

                </form>              

    }
0 голосов
/ 30 апреля 2018
    @{
        var actionURL = Url.Action("Action", "Controller", 
                                   FormMethod.Post, Request.Url.Scheme)  
                        + Request.Url.PathAndQuery;
    }
    @using (Html.BeginForm("Action", "Controller", FormMethod.Post, 
                                                       new { @action = actionURL }))
    {
<input type="text" name="username">
<input type="text" name="password">
<button  type="submit"class="btn-login"></button>
    }//Then use Request.Form[0] with the id to get the user name and password in the controller action.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...