如何使用Razor EditorFor Helper从ViewBag创建一个值为的TextBox

Jim*_*mmy 2 c# asp.net-mvc html-helper razor viewbag

我只是希望文本框编辑器字段显示一个带有ViewBag的值,例如,如果ViewBag.Savings包含'6':

编辑领域

我尝试过类似的东西:

@Html.EditorFor(model => model.Value, ViewBag.Savings)
@Html.ValidationMessageFor(model => model.Value)
Run Code Online (Sandbox Code Playgroud)

我得到编译器错误:' 编译器错误消息:CS1973:'System.Web.Mvc.HtmlHelper'没有名为'EditorFor'的适用方法,但似乎有一个名称的扩展方法.无法动态分派扩展方法.考虑转换动态参数或调用扩展方法而不使用扩展方法语法.

什么是正确的语法?

Jon*_*lis 6

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

@model Foo.Models.Savings
Run Code Online (Sandbox Code Playgroud)

然后

@Html.EditorFor(model => model.Value)
@Html.ValidationMessageFor(model => model.Value)
Run Code Online (Sandbox Code Playgroud)

对于ViewBag,您可以这样做:

@Html.TextBox("Savings", (string)ViewBag.Savings)
Run Code Online (Sandbox Code Playgroud)