Я создал демо для перенаправления пользователя на URL только в первый раз из всего приложения.
Вы должны переопределить метод OnActionExecuting , чтобы проверить, был ли пользователь перенаправлен или нет раньше.
1. Создайте один класс для фильтра переопределения действий (перед действием фильтра).
namespace Example.Helper
{
public class ValidateUserLoggedIn : ActionFilterAttribute
{
/// <summary>
/// Method for redirect to url first time only
/// </summary>
/// <param name="filterContext"></param>
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
try
{
string cookieName = "NotFirstTimeVisit";
if (!HttpContext.Current.Request.Cookies.AllKeys.Contains(cookieName))
{
// first time, add a cookie.
HttpCookie cookie = new HttpCookie(cookieName);
cookie.Value = "True";
HttpContext.Current.Response.Cookies.Add(cookie);
// You can add your URL here
filterContext.Result = new RedirectToRouteResult(
new RouteValueDictionary
(new
{
controller = "Department",
action = "Index"
}
));
}
base.OnActionExecuting(filterContext);
}
catch (Exception ex)
{
throw new Exception(ex.Message.ToString());
}
}
}
}
2. Вызовите вышеуказанный метод для контроллера, глобального файла, за действие согласно вашему требованию.
namespace Example.Controllers
{
[ValidateUserLoggedIn] // Action Filter class
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult About()
{
ViewBag.Message = "Your application description page.";
return View();
}
}
}
Примечание. Дайте мне знать, если у вас есть запрос по приведенному выше коду. Спасибо!