我创建了一个小的执行计时器,作为一个额外的 id,希望能够在开发时通过 ViewData 为实时计时器选择在 View 底部显示所有计时结果(反对将所有条目放在数据库来监控性能)基本上,计时器将所有时间拆分成一个列表>,我目前正试图将其传递给 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;
一旦被 View 接收,它似乎被接收为 List<AnonymoyusType<string, double>>
.
我如何着手将它转换回可用的东西?
转换回List<KeyValuePair<string, double>>
似乎根本不起作用!
非常感谢任何帮助!
最佳答案
匿名类型不能轻易地跨方法传递。
您应该创建一个元组/键值对列表或编写您自己的类。
另外,不要调用 AsQueryable()
。
关于C# - 通过 ViewData 将数据从 ActionFilter 传回 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5030102/