gpt4 book ai didi

asp.net-mvc - 将 TempData 从操作过滤器传递到操作

转载 作者:行者123 更新时间:2023-12-02 04:07:42 25 4
gpt4 key购买 nike

我一直在尝试使用以下方法将 TempData 从 ActionFilter 传递到操作:

filterContext.Controller.TempData.Add("Key","Value");

但是,似乎没有 TempData 传递给操作,因为我不断收到对象未引用对象实例错误。

这是将 TempData 从 ActionFilter 传递到 Controller 的正确方法吗?如果没有,我该怎么做?

最佳答案

这会起作用:-

答案 1:

过滤器:-

public class MyCustomAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.RouteData.Values.Add("Key","Value");
}
}

Controller :-

[MyCustom]
public ActionResult Index()
{
TempData["Key"] = RouteData.Values["Key"];

return View();
}

答案2:

过滤器:-

public class MyCustomAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.Controller.TempData.Add("Key","Value");
}
}

Controller :-

[MyCustom]
public ViewResult Index()
{
string Tempval = TempData["Key"].ToString();
return View();
}

关于asp.net-mvc - 将 TempData 从操作过滤器传递到操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25197372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com