У меня есть сайт портала и при входе пользователя в систему.Я проверяю электронную почту и номер телефона.Если не существует в базе данных.Я хочу перенаправить на страницу «ProfilView» и заполнил поле «Электронная почта и телефон».Но я получил эту ошибку «localhost направил вас слишком много раз».
Этот метод FilterAttribute и я поместили поверх BaseController
Это мой BaseController, и у меня есть атрибут
[ContactInfo]
public class BaseController : Controller
, и это мой атрибут
public class ContactInfoAttribute : ActionFilterAttribute {
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext == null || filterContext.HttpContext == null || filterContext.HttpContext.Request == null)
return;
var workContext = EngineContext.Current.Resolve<IWorkContext>();
var customer = workContext.CurrentUser;
if (customer != null)
{
if (customer.PhoneNumber == null || customer.Email == null)
{
RouteValueDictionary redirectTargetDictionary = new RouteValueDictionary();
redirectTargetDictionary.Add("action", "ProfileView");
redirectTargetDictionary.Add("controller", "Account");
filterContext.Result = new RedirectToRouteResult(redirectTargetDictionary);
}
}
base.OnActionExecuting(filterContext);
}
}