2

たとえば、ViewBag.Savings に '6' が含まれている場合、ViewBag で渡された値を含むテキスト ボックス エディター フィールドを表示するだけです。

エディタ フィールド

私は次のようなものを試しました:

@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

Html ヘルパーはEditorFor、ViewBag ではなく、厳密に型指定されたオブジェクトを必要とします。ViewBag を本当に使いたい場合は、次のようにします。

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