2012-01-04 2 views
3
나는 다음과 같은 오류 받고 있어요

: 여기Html.DisplayFor 컴파일 오류 - MVC 2

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyApp.Data.Person>" %> 
<fieldset> 

    <legend>Information</legend> 

    <div class="display-label">ID</div> 
    <div class="display-field"><%: Model.ID %></div><br /> 

    <div class="display-label">Name</div> 
    <div class="display-field"><%: Model.Name %></div><br /> 

    <div class="display-label">DOB</div> 
    <div class="display-field"><%: String.Format("{0:g}", Model.DOB) %></div><br /> 


    <div class="display-label">On Alert</div> 
    <div class="display-field"><%: Html.DisplayFor(Model.OnAlert, "FormBoolean") %></div><br /> 

    <div class="display-label">Deactivated</div> 
    <div class="display-field"><%: Model.Deactivated %></div><br /> 

</fieldset> 

내 FormBoolean 디스플레이 템플릿 :

여기
The type arguments for method 'System.Web.Mvc.Html.DisplayExtensions.DisplayFor<TModel,TValue>(System.Web.Mvc.HtmlHelper<TModel>, System.Linq.Expressions.Expression<System.Func<TModel,TValue>>, string)' cannot be inferred from the usage. Try specifying the type arguments explicitly. 

내 부분보기입니다

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Boolean>" %> 
<div class="formValueShort"><%= Html.Encode(Model ? "Yes" : "No") %></div> 

누구든지이 문제를 해결할 수 있습니까? 또한 'LabelFor'('FormBoolean'을 포함하지 않고), HiddenFor, EditorFor를 시도했습니다. 모두 동일한 메시지를 제공합니다. 이 프로젝트를 통해이 프로젝트를 사용했기 때문에 이상한 점이 있습니다.

추가 정보를 제공해야하는지 알려주세요.

답변

8

DisplayFor의 첫 번째 매개 변수는 lambda expression입니다. 다음과 같이 전화해야합니다.

<%: Html.DisplayFor(m => m.OnAlert, "FormBoolean") %> 
+1

Ah! 너무 간단! 긴 날 이었어! 고마워. 시간 제한이 초과되면 정확한 답을 표시 할 것입니다 :) – 109221793