Razor 中的动态匿名类型导致 RuntimeBinderException

2024-06-24

我收到以下错误:

“object”不包含“RatingName”的定义

当您查看匿名动态类型时,它显然具有RatingName。

我意识到我可以使用元组来做到这一点,但我想了解为什么会出现错误消息。


在我看来,具有内部属性的匿名类型是一个糟糕的 .NET 框架设计决策。

这是一个快速且不错的扩展解决这个问题,即立即将匿名对象转换为 ExpandoObject。

public static ExpandoObject ToExpando(this object anonymousObject)
{
    IDictionary<string, object> anonymousDictionary =  new RouteValueDictionary(anonymousObject);
    IDictionary<string, object> expando = new ExpandoObject();
    foreach (var item in anonymousDictionary)
        expando.Add(item);
    return (ExpandoObject)expando;
}

这是很easy to use:

return View("ViewName", someLinq.Select(new { x=1, y=2}.ToExpando());

当然在你看来:

@foreach (var item in Model) {
     <div>x = @item.x, y = @item.y</div>
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Razor 中的动态匿名类型导致 RuntimeBinderException 的相关文章

  • 如何将电子邮件类型的输入应用到 Asp.net MVC3 Razor 中的 HTML Helper

    如何将电子邮件类型的输入应用到 Asp net MVC3 Razor 中的 HTML Helper 例如
  • Web 服务器可以动态生成可执行文件吗?

    尼尼特网 http Ninite com目前似乎正在这样做 我想知道怎么做 虽然他们有可能预先生成应用程序的每种组合 但这似乎不太可能 hacky 该网站似乎没有创建可执行文件 只是提供下载 编辑 即时创建这些巨大的下载会给服务器带来巨大的
  • 处理 MVC 中的创建和修改日期

    你好 我有一个 MVC 应用程序 它有 CreatedDate 和 ModifiedDate 字段 1 CreatedDate是用户创建模块的时间 任何条目 2 ModifiedDate是用户编辑模块的时间 我有以下模型类 namespac
  • Razor 语法在 UI 标记方面是否提供了令人信服的优势?

    我注意到斯科特 格思里开始提及剃须刀 http weblogs asp net scottgu archive 2010 07 02 introducing razor aspx a fair bit http weblogs asp ne
  • 动态添加字段到 Razor 表单

    我有一个 Razor 表单 其中包含我想要动态添加项目的项目列表 表格 您可以从下拉列表中选择项目 单击 添加 下拉列表中的项目将添加到列表中 然后我希望所有这些都通过POST当我提交我的表格和我的控制器时HttpPost方法可以处理输入
  • IIS 上的 ASP.NET MVC3 和 Windows Auth 不断重定向到 /Account/Login

    我正在运行 MVC3 和 Windows 身份验证 Web 应用程序 当我部署到 IIS6 时 它运行得很好 直到我遇到需要身份验证的页面 然后 当我在应用程序中没有任何痕迹并且我的 web config 配置为 Windows 身份验证时
  • MVC 3 Razor Form Post 带多个强类型部分视图不具有约束力

    我很好奇在表单中使用多个强类型部分并回发到包含视图的部分的方法是否是正确的 MVC 处理方法 主视图与以下模型绑定 为简洁起见 省略了其他几个属性和数据注释 public class AccountSetup ViewModelBase p
  • 如何在 Android 上动态地将元素添加到 ListView 中?

    任何人都可以解释或建议动态创建一个教程ListView https developer android com reference android widget ListView在安卓中 这是我的要求 我应该能够通过按下按钮动态添加新元素
  • 是否可以手动更新 ModelState.IsValid ?

    我想尽可能使用内置的验证功能 我还想对 CRUD 方法使用相同的模型 但是 由于无法使用标准模式完成下拉列表 因此我必须手动验证它 在回发方法中 我只想验证下拉列表并将此结果添加到 ModelState 中 这样我就不必验证使用数据注释完成
  • Razor 中的动态匿名类型导致 RuntimeBinderException

    我收到以下错误 object 不包含 RatingName 的定义 当您查看匿名动态类型时 它显然具有RatingName 我意识到我可以使用元组来做到这一点 但我想了解为什么会出现错误消息 在我看来 具有内部属性的匿名类型是一个糟糕的 N
  • ASP.NET MVC 3 中未经身份验证用户的缓存主页

    我的网站有一个主页 我想为匿名用户缓存该页面 并将其设置为经过身份验证的用户的 私有 以便他们将其保存在自己的计算机上 而不是其他地方 因此 如果用户是匿名的 我想将页面保存在服务器缓存中 并使用以下命令保存在浏览器缓存中Cache con
  • 找不到指定文化或中立文化的任何资源

    我必须尝试在这个例子中使用国际化 http afana me post aspnet mvc internationalization part 2 aspx http afana me post aspnet mvc internatio
  • 来自 ControllerContext 的 ActionDescriptor

    鉴于我只能访问ControllerContext并不是Action Contexts获取当前正在执行的 ActionDescriptor 的最佳方法是什么 到目前为止我发现的唯一方法是 new ReflectedControllerDesc
  • EntityType“MyProfile”没有定义键。定义此 EntityType 的键

    我不确定为什么会收到此错误消息 我在 sql 数据库中为其定义了一个主键 这是我的代码 HttpPost public ActionResult Register RegisterModel model if ModelState IsVa
  • 在哪里存储加密密钥 MVC 应用程序

    我正在使用 AES 加密 解密类 该类需要密钥值和向量值来加密和解密 MVC3 应用程序中的数据 保存记录时 我对数据进行加密 然后存储在数据库中 当我检索记录时 我在控制器中解密并将未加密的值传递给视图 我们关心的不是在数据通过网络时保护
  • Java动态代理-如何引用具体类

    我有一个关于java中动态代理的问题 假设我有一个名为Foo用一种方法execute和班级FooImpl implements Foo 当我创建代理时Foo我有类似的东西 Foo f Foo Proxy newProxyInstance F
  • 使用 Javascript 中的用户输入动态更改表格单元格

    这就是我想要做的 我有一个表格 由 Javascript 创建 每个单元格中都有用户输入 该表只是为了确认用户输入的数据是否正确 如果用户看到错误 他们单击需要编辑的单元格 它会在表格单元格中放置一个文本框 其中包含当前单元格数据 然后 如
  • 将序列化表单传递给 Action 并绑定到模型

    我正在尝试绑定从 Ajax 调用收到的模型 但这不起作用 也许有人可以帮助我 我正在使用 Ajax 调用 ValidateFile Action ajax url Url Action ValidateFile Converter data
  • 捕获客户端验证失败

    我有一个基于 div 点击提交的表单 我还让它在单击时启动等待指示器 我试图找出是否有一种方法可以检测客户端验证是否失败 以便我可以删除等待指示器 在提交尝试后不再显示它 或者我可以手动调用客户端验证在我尝试提交之前 你可以试试 div c
  • 序列化时忽略属性

    我正在为这件事抓狂 我正在尝试实现一个多步骤向导 并且我正在使用Html SerializeMVC3 Futures 中的 html 助手 这很有效 除了我的模型中的属性之一是SelectList 我不希望这个属性被序列化 无论如何尝试它都

随机推荐