Html.Beginform не является обратной отправкой на контроллер

#asp.net-mvc

#asp.net-mvc

Вопрос:

Я пытаюсь создать страницу входа в mvc4 с помощью Visual studio 2012, но здесь я получаю проблему.

Проблема в том, что когда я нажимаю кнопку входа, она просто обновляет страницу и снова показывает страницу входа вместо входа пользователя.

Мой код здесь :

Просмотр входа в систему

  @model onlinebookstore.entityframwork.customer

@{
    ViewBag.Title = "Login";
    Layout = "~/Views/shared/layout.cshtml";
}

<h2>Login</h2>
<div style="background-color:brown;">

    @using (Html.BeginForm("Login","Account",FormMethod.Post)){

    @Html.LabelFor(model =>model.user_id)
    @Html.TextBoxFor(model =>model.user_id)

    @Html.LabelFor(model => model.password);
    @Html.PasswordFor(model => model.password);

    <input type="submit" name="btnsubmit" id="btnsubmit" value="Login" />
    }
</div>
 

Контроллер учетной записи

 [HttpGet]
        public ActionResult Login()
        {
            return View();

        }


        [HttpPost]
        public ActionResult Login(onlinebookstore.entityframwork.customer customer)
        {
            if (ModelState.IsValid)
            {
                       onlinebookstore.entityframwork.onlinebookstoreEntities db = new onlinebookstoreEntities();
                       var v = db.customers.FirstOrDefault(u => u.user_id == customer.user_id amp;amp; u.password == customer.password);
                        if (v != null)
                            {
                            Session["userid"] = v.user_id.ToString();
                            Session["firstname"] = v.first_name.ToString();
                            return RedirectToAction("Index", "Home");
                            }
                        else
                        {
                            return RedirectToAction("Register", "Account");
                        }


            }
            return View(customer);
        } 
 

Раньше этот код работал нормально, но теперь он создает для меня серьезную проблему, помогите мне, пожалуйста.

Спасибо от Rizwan

Комментарии:

1. Похоже, что ModelState недействителен. Поставьте точку останова в своем методе действия и проверьте

2. Ваш код правильный… когда вы отправляете данные, нажав на кнопку отправки, может быть, что ваш modalstate недействителен, поэтому вы можете проверить ошибку с помощью точки останова или просто удалить modalstate.isvalid() из кода ur.

3. Спасибо Картикея Хосла, я удалил modalstate.isvalid(), и теперь мой код работает нормально. Мухаммад Ризван

Ответ №1:

проверьте, является ли ваш ModelState .Значение Isvalid равно true или false .