Я хочу перенаправить на страницу приветствия, и она должна отображать/скрывать элементы html в соответствии с типом пользователя. Я написал return View("Welcome", adminvar);
, но он возвращает страницу приветствия внутри URL-адреса входа.
При обновлении отображается всплывающее предупреждение о повторной отправке формы. Я хочу перенаправить на страницу приветствия. я пробовал это
return RedirectToAction("Welcome" , adminvar);
но это не работает.
[HttpPost]
public ActionResult Login(tbl_Admin adminObj)
{
studentDBEntities db = new studentDBEntities();
var adminvar = db.tbl_Admin.Where(x => x.Email == adminObj.Email && x.Password == adminObj.Password).Select(s=> new tbl_AdminVM {
AdminId = s.AdminId,
Email = s.Email,
Name = s.Name,
Password = s.Password,
Type = s.Type
}).FirstOrDefault();
if (adminvar != null)
{
/* return RedirectToAction("Welcome" , adminvar);*/
return View("Welcome", adminvar);
}
else
{
return View();
}
}
public ActionResult Welcome()
{
ViewBag.Message = "Welcome Admin - Admin Account Page";
return View();
}
Вид:
@if (Model.Type)
{
<center><p>@Html.ActionLink("Admin Management", "ListAdmin")</p></center>
}
Вы можете перенаправить к действию
return RedirectToAction(“ActionName”,”ControllerName”);
или
return RedirectToAction(“~/ControllerName/ActionName”);
Здесь вы возвращаете приветственное представление методу входа в систему, который будет отображать приветственное представление на странице входа и не будет перенаправлен на страницу приветствия.
Что вы можете сделать, так это после успешного входа в систему перенаправить на приветственное действие.
return RedirectToAction("Welcome", new { userType = adminvar.Type });
И измените действие приветствия, как показано ниже.
public ActionResult Welcome(string userType)
Внутри действия приветствия получите значение usertype и отправьте его в представление приветствия с помощью Viewbag.
ViewBag.userType = userType;
Используйте значение ViewBag.userType на странице приветствия, чтобы показать/скрыть элементы html.