Рейтинг:
9
Krunal Rohit
Контроллер-
public ActionResult Login(Customer d)
{
using (CustomerDataEntities oe = new CustomerDataEntities())
{
var user = oe.Customers.FirstOrDefault(a => a.UserName.Equals(d.UserName) && a.Password.Equals(d.Password));
if (user == null)
{
TempData["ErrorMessage"] = "Invalid user name or password."
return RedirectToAction("Login", "Home");
}
else
{
return RedirectToAction("Index", "Home");
}
}
}
Смотреть- Поместите этот код туда, где вы хотите отобразить сообщение об ошибке
@{
if(TempData["ErrorMessage"] != null)
{
<div id="errorMsg" style="border: solid 1px red; padding: 50px 10px; color:red">
@TempData["ErrorMessage"]
</div>
}
}
-КРОНА
Member 11897361
большое вам спасибо, ваш код работает .Спасибо за ваше время
Рейтинг:
16
Snesh Prajapati
Метод FirstOrDefault вернет null в качестве значения по умолчанию, если имя пользователя и пароль не совпадают в таблице Customer. Таким образом, вы можете использовать условие "Если", чтобы проверить, является ли пользователь нулевым или нет.
Пример кода показан ниже:
public ActionResult Login(Customer d)
{
using (CustomerDataEntities oe = new CustomerDataEntities())
{
var user = oe.Customers.Where(a => a.UserName.Equals(d.UserName) &&
a.Password.Equals(d.Password)).FirstOrDefault();
if (user == null)
{
// If UserName and Password is incorrect then redirect to Login page
return RedirectToAction("Login", "Home");
}
else
{
// If UserName and Password is correct then redirect to Index page
return RedirectToAction("Index", "Home");
}
}
}
В случае возникновения каких-либо проблем сообщите нам об этом.
Member 11897361
Эй, у меня здесь есть одна проблема, я получаю одну глупую ошибку, говоря это
"Текущий запрос на действие "Login" на контроллере типа "LoginController" неоднозначен между следующими методами действия:
System.Web.Mvc.ActionResult Login() по типу MvcApplication1.Контроллеры.LoginController
Системы.Веб.В MVC.ActionResult логин(MvcApplication1.Модели.Клиент) по типу MvcApplication1.Контроллеры.LoginController"
Что это значит, когда я совершаю ошибку
Snesh Prajapati
Ошибка возникает из-за одного и того же имени метода. Вы должны украсить первый из них [HttpGet], где параметр не задан, и [HttpPost], где вы передаете клиента.
Или если оба они являются только HttpGet, то используйте атрибут ActionName.
Или какой-то трюк, как описано в http://stackoverflow.com/questions/9552761/get-and-post-methods-with-the-same-action-name-in-the-same-controller
Member 11897361
использование MvcApplication1.Модели;
использование системы;
использование системы.Коллекции.Общий;
использование System. Linq;
использование системы.Сеть;
использование System. Web.Mvc;
используя системы.Веб.Безопасности;
пространство имен MvcApplication1.Контроллеры
{
открытый класс LoginController : Controller
{
//
// GET: / Login/
индекс public ActionResult()
{
возвращение смотреть();
}
public ActionResult Login()
{
возвращение смотреть();
}
public ActionResult Login(Customer d)
{
используя (CustomerDataEntities оригинального номера = новый CustomerDataEntities())
{
ВАР пользователя = ое.Клиентов.Метода firstordefault(а => у собой.Имя пользователя.Равных(ум.Имя пользователя) и усилитель; & а.Пароль.Равно (d. пароль));
if (user = = null)
{
TempData ["ErrorMessage"] = " неверное имя пользователя или пароль.";
return RedirectToAction("Login", " Home");
}
ещё
{
return RedirectToAction ("Index", " Home");
}
}
}
}
}
вот мой код, можете ли вы просто помочь мне. я просто запутался здесь.Извиняюсь
Member 11897361
Ооооо yeyyyy ее работы я просто применяется HTTP-методов GET и POST,thnak вас так много
Snesh Prajapati
Большинство Добро Пожаловать !!