Asp.net mvc 4 从基本ActionFilterAttribute的ViewBag中提取数据
在上面的代码中,我通过viewbag传递来自控制器操作的数据。我可以在上面提到的变量val中看到这些数据。如何在上面的代码中从变量动态val中提取数据 当我使用断点浏览时,这就是流Asp.net mvc 4 从基本ActionFilterAttribute的ViewBag中提取数据,asp.net-mvc-4,viewbag,Asp.net Mvc 4,Viewbag,在上面的代码中,我通过viewbag传递来自控制器操作的数据。我可以在上面提到的变量val中看到这些数据。如何在上面的代码中从变量动态val中提取数据 当我使用断点浏览时,这就是流 val{System.Web.Mvc.DynamicViewDataDictionary} ViewData{System.Web.Mvc.ViewDataDictionary} _innerDictionary计数=1 [0]=>我需要的数据在这里,如果我像这样传递数据,我需要的数据在这里 var numbe
- val{System.Web.Mvc.DynamicViewDataDictionary}
- ViewData{System.Web.Mvc.ViewDataDictionary}
- _innerDictionary计数=1
- [0]=>我需要的数据在这里,如果我像这样传递数据,我需要的数据在这里
var number=新列表{1,2,3}代码>
ViewBag.numbers=编号代码> 然后我可以像这样从CustomfilterAttribute获取数据
foreach(filterContext.Controller.ViewBag.numbers中的变量编号)
{
var i=number;
注意:为此,您需要仅为传递ViewBag.Number数据的方法分配[GeneralFilter],否则您将面临空引用错误!}
我很感激你能给我更好的答案 为了避免空引用错误,只需设置这样的if条件“if(if(filterContext.Controller.ViewBag.numbers!=null)”就可以了!还有更好的吗?public class GeneralFilter : ActionFilterAttribute { public override void OnActionExecuted(ActionExecutedContext filterContext) { dynamic val = filterContext.Controller.ViewBag; string action = filterContext.ActionDescriptor.ActionName; string controller = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName; } }
- [0]=>我需要的数据在这里,如果我像这样传递数据,我需要的数据在这里