c# - 如何使用 Razor EditorFor Helper 创建一个包含 ViewBag 中的值的 TextBox

标签 c# asp.net-mvc razor html-helper viewbag

我只是希望出现一个文本框编辑器字段,其中包含已通过 ViewBag 传递的值,例如,如果 ViewBag.Savings 包含“6”:

editor field

我尝试过类似的方法:

@Html.EditorFor(model => model.Value, ViewBag.Savings)
@Html.ValidationMessageFor(model => model.Value)

我收到编译器错误:“编译器错误消息:CS1973:“System.Web.Mvc.HtmlHelper”没有名为“EditorFor”的适用方法,但似乎有一个使用该名称的扩展方法。扩展方法无法动态分派(dispatch)。考虑转换动态参数或在不使用扩展方法语法的情况下调用扩展方法。'

正确的语法是什么?

最佳答案

我认为 EditorFor 需要一个模型 ->

@model Foo.Models.Savings

然后

@Html.EditorFor(model => model.Value)
@Html.ValidationMessageFor(model => model.Value)

对于 ViewBag 你可以这样做:

@Html.TextBox("Savings", (string)ViewBag.Savings)

关于c# - 如何使用 Razor EditorFor Helper 创建一个包含 ViewBag 中的值的 TextBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16321008/

相关文章:

c# - 将文本转换为图像

c# - Xcode Cocoa - 从 NSTableView 拖放到 Finder

c# - 对时间触发的 Azure 函数进行单元测试

c# - 如何使 View 完全或部分渲染?

c# - 如何通过 MVC Razor 代码获取枚举成员的显示名称属性?

c# - 如何关闭线程 'Win32 Thread' (0x1bfc) 的日志已退出,代码为 0 (0x0)?

sql-server - 在 asp.net-mvc 中打开一个文件

asp.net-mvc - 使用 ASP.NET MVC 进行测试驱动开发 - 从哪里开始?

c# - 在 Razor 中将 css 与 c# mvc 混合

c# - 集合在 asp.net MVC 4 中被修改错误