كيف يمكنني الحصول على actionName في ActionFilter؟
-
05-07-2019 - |
سؤال
وهذا هو بلدي القانون القديم
protected override bool OnPreAction(string actionName, System.Reflection.MethodInfo methodInfo)
{
if ("|Register|RegisterPage|Login|LoginPage|Logout|Service".ToLower().Contains(actionName.ToLower()))
{
return base.OnPreAction(actionName, methodInfo);
}
Customer = CustomerHelper.GetCustomer();
if (Customer.IsSeccessedLogin())
{
return base.OnPreAction(actionName, methodInfo);
}
Response.Redirect("Login.html");
return false;
}
المحلول
string actionName = (string)filterContext.RouteData.Values["action"];
نصائح أخرى
ولمعلوماتك، اعتبارا من RC1، يمكنك أن تفعل ذلك مثل هذا:
filterContext.ActionDescriptor.ActionName
لا تنتمي إلى StackOverflow