2

我只是希望一个文本框编辑器字段显示一个值,该值已与 ViewBag 一起传递,例如,如果 ViewBag.Savings 包含“6”:

编辑器字段

我试过类似的东西:

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

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

什么是正确的语法?

4

2 回答 2

6

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

@model Foo.Models.Savings

然后

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

对于 ViewBag 你可以这样做:

@Html.TextBox("Savings", (string)ViewBag.Savings)
于 2013-05-01T15:38:59.770 回答
0

EditorForHtml Helper 需要一个 ViewBag 不是的强类型对象。如果你真的想使用 ViewBag 你会做这样的事情:

@Html.TextBox("savings", ViewBag.Savings)
于 2013-05-01T15:27:11.210 回答