2011-08-05 2 views
1
<td>@Html.EditorFor(Model => Model.Loan)</td> 

私は、ビューの初めにし、その後、私はMVCかみそりビュー - String.Formatの()に.EditorFor()にして用モデルを用いた

The interest rate for the loan is @String.Format("{0:c}", Model.Interest). 
のような文を持っていることを持っています

それは、私もそれは「CAのエラーが発生した

The interest rate for the loan is @String.Format("{0:c}", Model => Model.Interest). 

をしようとした私に

エラー "宣言 'System.Web.Mvc.WebViewPage.Model' と 'モデル' 葛藤" を提供しますラムダ式をデリゲート型でないため 'object []'に変換しないでください "

EditorForを削除しても、次のステートメントではエラーになりません。

ViewBagにモデルを追加する以外に、私は両方の方法がありますか。

答えて

1

ラムダ式の引数名が、既存のModelプロパティと競合しています。

@Html.EditorFor(m => m.Loan)

+0

のような別の引数名を使用する必要があります。ビューページの一番上にある@modelは変数の宣言であると思っていました。 – DevSharp

+0

私は "x => x.Property"の例も見たのを覚えています。もしうまくいけば、これはすべてのラムダ式がModelを指しているのでしょうか?あるいは、宣言されていないすべての変数は、mまたはxと同様にモデルを参照します。 – DevSharp

+0

どちらもありません。ラムダ式は 'x'や' m'などの引数をとる関数です。議論の名前は完全に無関係です。ほとんどのMVCヘルパメソッドは、パラメータをモデルとして受け取るラムダ式を使用します。 – SLaks

関連する問題