![](/img/trans.png)
[英]How to pass parameters to a custom ActionFilter in ASP.NET MVC 2?
[英]How to pass parameters to actionfilter in different controllers
我已經在這里檢查了答案。 如何將參數傳遞給 ASP.NET MVC 2 中的自定義 ActionFilter? 我想根據傳入控制器的唯一 ID 檢查多個控制器中的條件。
這是 actionfilter 的代碼。
public class AnswerCompletedAttribute : System.Web.Http.Filters.ActionFilterAttribute, IActionFilter
{
public string p { get; set; }
public void OnActionExecuted(ActionExecutedContext filterContext)
{
throw new NotImplementedException();
}
public void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.ActionParameters.ContainsKey(p))
{
var id = filterContext.ActionParameters[p] as Guid?;
if (Db.IsRespondentAnswerCompleted(id))
{
filterContext.Result = new RedirectToRouteResult(
new RouteValueDictionary
{
{ "controller", "Error" },
{ "action", "NotFound" }
});
}
}
}
}
我在控制器中的代碼,
[AnswerCompleted(p = "uniqueId")]
public ActionResult Index(Guid? uniqueId)
{
//do something
return View();
}
我應該如何更改它以使其正常工作?
我發現它是從錯誤的類繼承的,應該是system.web.mvc.actionfilterattribute
而不是System.Web.Http.Filters.ActionFilterAttribute
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.