Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#-通过ViewData将数据从ActionFilter传回视图_C#_Asp.net Mvc - Fatal编程技术网

C#-通过ViewData将数据从ActionFilter传回视图

C#-通过ViewData将数据从ActionFilter传回视图,c#,asp.net-mvc,C#,Asp.net Mvc,我创建了一个小的执行计时器,作为一个额外的id,我希望能够在开发时通过ViewData for live timer在视图底部显示所有计时结果(而不是将所有条目放在数据库中以监控性能)基本上,计时器将所有时间分割成一个列表>,我目前正试图将其传递到ViewData中,但当它接收到另一端时,我似乎无法将其返回 var Test = _timer.SplitList.Select(e => new { Id = e.Key, Value = e.Value }).OrderBy(e =>

我创建了一个小的执行计时器,作为一个额外的id,我希望能够在开发时通过ViewData for live timer在视图底部显示所有计时结果(而不是将所有条目放在数据库中以监控性能)基本上,计时器将所有时间分割成一个列表>,我目前正试图将其传递到ViewData中,但当它接收到另一端时,我似乎无法将其返回

var Test = _timer.SplitList.Select(e => new { Id = e.Key, Value = e.Value }).OrderBy(e => e.Id).ToList().AsQueryable();
filterContext.Controller.ViewData["Timing"] = Test;
一旦被视图接收,它似乎被作为
列表
接收

我怎样才能把它重新铸造成有用的东西呢? 回溯到
列表
似乎根本不起作用


任何帮助都将不胜感激

匿名类型不能轻易地跨方法传递

您应该创建元组/键值对列表或编写自己的类


另外,不要调用
AsQueryable()

它不是一个匿名类型,在加载到ViewData之前,它是列表,这就是你的意思吗?@Henry:那你为什么要将它设置为匿名类型?除非我将它放置到view data中的方式导致它被转换为匿名类型,否则它是自己做的。就我而言,我正在将列表放入视图数据中,但在尝试将数据从ViewData中拉回来时,它显示为列表,我是否将其错误地放入ViewData中?我希望我说的有道理,谢谢你的帮助。@Henry:你认为你的
Select
电话是什么意思?是的,明白了。我是linq/mvc新手,所以我假设viewdata不能直接获取对象。谢谢你的帮助!