Reputation: 134
i have two views which consist same login form. The forms call same action. i want to display error in page. i redirect to indexpage. But when i login from loginpage error is dispalyed in indexpage but i want the error to display in loginpage when login from login page and in index page when login from index page
my code is
public ActionResult ValidateLogIn(UserLogin users)
{
if (ModelState.IsValid)
{
var result = _accountUserService.GetAccountUserByEmailId(users.Email);
if (result != null)
{
if (result.Password == users.Password && result.Active)
{
Session.Add("Username", result.Email);
ViewBag.email = users.Email;
return View("Index");
//return full form registration;
}
ViewBag.UError = NcMessage.NotAcitvated;
}
else
{
ViewBag.UError = NcMessage.UsernameNotFound;
}
}
return View("Index");
}
how could i do?
Upvotes: 3
Views: 1322
Reputation: 10694
You Just Need to change last line to return login
view
public ActionResult ValidateLogIn(UserLogin users)
{
if (ModelState.IsValid)
{
var result = _accountUserService.GetAccountUserByEmailId(users.Email);
if (result != null)
{
if (result.Password == users.Password && result.Active)
{
Session.Add("Username", result.Email);
ViewBag.email = users.Email;
return View("Index");
//return full form registration;
}
ViewBag.UError = NcMessage.NotAcitvated;
}
else
{
ViewBag.UError = NcMessage.UsernameNotFound;
}
}
return View("Login");
// Return to Login page as Authentication is unsuccessful or ModelState is Invalid
}
Upvotes: 1