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). 
같은 문을 가지고 있습니다

그것은 나에게 오류 " 'System.Web.Mvc.WebViewPage.Model'선언과 함께 '모델'충돌 '

그것은 칼슘"오류가 발생한 나는 또한

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

시도를 제공합니다 델타 형식을 대리자 형식이 아니기 때문에 'object []'을 (를) 입력하지 않습니다. "

EditorFor를 제거하면 다음 문장에서 오류가 발생하지 않습니다.

ViewBag에 모델을 추가하는 것 이외에 둘 다 수행 할 수있는 방법이 있습니까?

답변

1

람다 식의 인수 이름이 기존 Model 속성과 충돌합니다.

당신은 작동 @Html.EditorFor(m => m.Loan)

+0

감사합니다, 같은 다른 인자 이름을 사용해야합니다. 뷰 페이지의 맨 위에있는 @model이 변수 선언이라고 생각했습니다. – DevSharp

+0

나는 "x => x.Property"예제를 보았던 것을 기억합니다. 작동한다면, 모든 Lambda 표현식이 Model을 의미합니까? 또는 선언되지 않은 모든 변수는 m 또는 x와 같이 사용하여 모델을 참조합니까? – DevSharp

+0

아니요. 람다 식은'x' 나'm' 등의 인자를 취하는 함수입니다. 논쟁의 이름은 완전히 부적절합니다. 대부분의 MVC 도우미 메서드는 매개 변수로 모델을받는 람다 식을 사용합니다. – SLaks

관련 문제