ASP.NET MVC 3 模型绑定 - ViewBag.Title 与 id="Title" 的输入发生冲突

2024-01-12

ViewBag 动态属性似乎存在问题。可以说我有:

@{
    ViewBag.Title = @Model.CourseName;
}

然后在页面上的表格中我有:

@Html.TextBox("Title", null, new {style="width:400px;"})

其中 Title 是数据库表中字段的名称。

当页面首次打开时,ID 为“Title”的文本框采用 ViewBag.Title 动态属性的值。

我对模型绑定的确切细节有点模糊,但这似乎确实是一个错误,或者如果不是,如果它是绑定过程中自然发生的事情,那么最好被警告这。

我发现的解决方法是将 ViewBag 属性重命名为:

@{
    ViewBag.Titulo = @Model.CourseName;
}

(标题更改为 Titulo - 了解另一种语言总是很好,以避免名称冲突......)

然后问题就消失了。

然而,问题是:

这种行为是预期的吗?这个错误很容易找到(花了一个小时才弄清楚,包括写这个问题),但我怀疑其他错误可能更,呃,深奥。

EDIT:

重新表述一下问题:

Model Binder 是否会自动绑定在 ViewBag 中找到的属性?即使我传递到页面的强类型 ViewModel 中存在现有属性? ViewModel 肯定应该优先吗?


Html.TextBox 检查ViewData/ViewBag首先价值观,然后Model。为了确保需要Model值,你必须使用Html.TextBoxFor.

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

ASP.NET MVC 3 模型绑定 - ViewBag.Title 与 id="Title" 的输入发生冲突 的相关文章

随机推荐

  • 如何在overlayfs中使用多个较低层

    根据this https www kernel org doc Documentation filesystems overlayfs txt根据文档 应该可以将多个较低层与overlayfs一起使用 但我无法让它在内核3 18 13上工作
  • 循环 UTF-8 字符串时,是什么决定了字符的位置?

    我正在阅读有关的部分for中的陈述有效的 Go 文档 https golang org doc effective go html并遇到了这个例子 for pos char range 日本 x80語 fmt Printf Characte
  • Scala 和 State Monad

    我一直在尝试理解 State Monad 与其说它是如何使用的 倒不如说它是如何使用的 尽管它也不总是很容易找到 但我发现的每次关于 State Monad 的讨论都有基本相同的信息 而且总是有一些我不明白的地方 Take this htt
  • VS2008 TFS:是否可以更改工作项的默认签入操作?

    当我将代码签入 Team Foundation Server 时 有时 可能比实际更频繁 应该将我的签入与我正在处理的任务或错误相关联 当我标记任务或签入时 它会将签入操作设置为 解决 但几乎总是 我只想将其作为助理 结果是我经常错误地将任
  • 从操作/控制器层访问 JWT 令牌数据

    我正在使用 OAuth 2 0 JWT 授权和身份验证实现 Net Core 应用程序 在操作 控制器层中 我需要访问当前用户的 JWT 有效负载数据 或 JWT 令牌 怎么可能呢 Try this User 在你的控制器 操作中 如果您需
  • django 1.8 错误:“NoneType”对象不可调用

    请看图片 有一个包含 2 个字段的表单 用户输入信息并提交表格后 该页面将重定向到另一个 html 显示表单和过滤后的数据库结果 我的项目的结构是 1 个模型 2 个类 输入表单 结果 2 个 html 和 1 个views py 现在的问
  • WPF 数据绑定组合框到列表

    我在尝试通过 XAML 将 List 类型的属性绑定到组合框时遇到了困难 public List
  • 来自java应用程序的Activex?

    是否可以在Java应用程序中轻松嵌入ActiveX控件 这值得么 在我的下一个项目中 我应该在 Java 应用程序中使用现有的 activex 或者必须从头开始重新实现所有内容 所以我想知道什么会减少麻烦 我认为如果不借助第三方库就没有办法
  • 如何从嵌套匿名函数将值返回给父函数

    我有一个 javascript 函数 它应该返回字符串的地理编码 function codeAddress address var result new google maps Geocoder geocode address addres
  • MySQL 连接器/NET 输出参数返回 NULL

    使用以下代码 MySqlParameter curParam new MySqlParameter var MySqlDbType Int32 curParam Direction System Data ParameterDirectio
  • data.table:使用 with=False 和转换函数/摘要函数?

    我想总结 data table 中的几个变量 以宽格式输出 可能作为每个变量的列表输出 由于其他几种方法不起作用 我尝试进行外部 lapply 将变量名称作为字符向量给出 我想使用 with FALSE 传递这些 carsx as data
  • postgres 'WITH' 子句与 jooq

    天哪 我找不到在 JOOQ 中使用 postgres WITH 子句的方法 请问JOOQ是否支持 谢谢 公用表表达式 WITHjOOQ 目前不支持 子句 jOOQ 路线图上有一个针对 CTE 的待处理功能请求 454 https githu
  • 如何设置 C2DM 消息的超时/过期?

    C2DM 消息是否有 TTL 过期或某种超时功能 我希望设备在 10 分钟内收到 C2DM 消息 甚至更长 即 如果他们的手机已关闭 并且设备不应收到 C2DM 消息 我可能可以在设备中实现一些功能来忽略任何旧的 C2DM 消息 但我不确定
  • 禁用报表或列的列排序或过滤

    Jaspersoft 报告的新内容 根据这个 Jaspersoft 社区页面如何禁用表排序 过滤功能 JIVE https community jaspersoft com wiki how disable table sortingfil
  • 是否可以在 Window Builder for Eclipse 中定义您自己的“控制器”?

    我想同时使用 Window Builder 和 MVC 范例 当 Window Builder 将所有代码添加到一个文件中时 复杂的窗口会变得非常混乱 我希望创建的默认文件是 视图 我想将我的控制操作 事件侦听器 保留在 控制器 类中 有没
  • Spring - 如何将大型多部分文件上传到数据库而不存储在本地文件系统上[重复]

    这个问题在这里已经有答案了 Spring boot 的默认 MultiPartResolver 接口通过将多部分文件存储在本地文件系统上来处理多部分文件的上传 在输入控制器方法之前 整个多部分文件必须完成上传到服务器 我们将所有上传的文件直
  • 测试 - 如何创建模拟对象[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我只是想知道如何创建模拟对象来测试代
  • 从 MS Access 移植

    我最近收到一个 MS Access mdb 数据库文件 并要求使其可以在 Linux 系统中使用 我正在寻找一种将 Access 数据库转换为开源数据库 例如 MySQL 或 PostGres 的方法 我没有 MS Office 而且这是一
  • 如何在 javascript(或 ecmascript?)中的运行时异常(或错误)上中断?

    我怎样才能在错误时中断 我有一个代码 throw new Error Some error 我正在使用最新版本的 Web Inspector Webkit 和 Firebug Mozilla 这些工具捕获并打印错误 但不会中断 我可能不知道
  • ASP.NET MVC 3 模型绑定 - ViewBag.Title 与 id="Title" 的输入发生冲突

    ViewBag 动态属性似乎存在问题 可以说我有 ViewBag Title Model CourseName 然后在页面上的表格中我有 Html TextBox Title null new style width 400px 其中 Ti