首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在视图的ViewBag中访问动态对象成员

如何在视图的ViewBag中访问动态对象成员
EN

Stack Overflow用户
提问于 2019-08-22 09:25:19
回答 2查看 1.5K关注 0票数 1

我已经用dynamic分配了assigned结果中的ViewBag,如下所示

代码语言:javascript
复制
ViewBag.viewBagModel = new { code = "P8c93E0NlQ8c0xE=", userRole = Student, schoolCode = 1000, schoolName = "New School 1_change", standardName = "LKG", sectionName = "B", associatedStudent = null }

并且我能够在控制器/操作结果中为ex获得值:

代码语言:javascript
复制
ViewBag.viewBagModel.code // will return "P8c93E0NlQ8c0xE="

但是,当我尝试同样的观点时,我得到的是错误声明

"{"'object‘不包含’代码‘的定义“}”

更多信息:这个动态对象的语法

代码语言:javascript
复制
new {string code, string userRole, int? schoolCode, string schoolName, string standardName,string sectionName, string user}

我希望在视图中获取这个对象数据。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-22 10:08:28

您的对象是匿名类型。您将无法在视图中直接访问它。你仍然可以让它以另一种方式工作。

视图模型需要类型为dynamic

代码语言:javascript
复制
@model IEnumerable<dynamic>

然后将模型的代码更改为ExpandoObject类型,如下所示:

代码语言:javascript
复制
ViewBag.viewBagModel = new { code = "P8c93E0NlQ8c0xE=", userRole = Student, schoolCode = 1000, schoolName = "New School 1_change", standardName = "LKG", sectionName = "B", associatedStudent = null }.ToExpando();

注意上面的.ToExpando()。下面是带有ToExpando方法的静态类:

代码语言:javascript
复制
public static class Extensions
{
        public static ExpandoObject ToExpando(this object anonymousObject)
        {
            IDictionary<string, object> anonymousDictionary = HtmlHelper.AnonymousObjectToHtmlAttributes(anonymousObject);
            IDictionary<string, object> expando = new ExpandoObject();
            foreach (var item in anonymousDictionary)
                expando.Add(item);
            return (ExpandoObject)expando;
        }
    }
票数 2
EN

Stack Overflow用户

发布于 2019-08-22 10:09:12

使用ToString()扩展。我现在确实试过了,看起来很管用。话虽如此,我还是建议你使用一个非动态的模型。即使您已经有了视图的模型,也可以将其放到另一个模型中。

所以你的代码会像这样

代码语言:javascript
复制
ViewBag.viewBagModel.code.ToString();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57606089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档