2009-11-05 4 views
4

누군가가 MVC2의 LabelExtensions.LabelFor HtmlHelper에 확장 도우미를 작성하려고 시도했는지 궁금합니다. 이 기능은 내 앱이 클래스 속성을 사용하여 항상 <td> 태그의 라벨을 래핑해야한다는 점에서 유용 할 것입니다. 내가 조금 확장 방법을 쓸 수 있다고 생각보기 반복하는 코드를하기보다는 : System.Web '방법ASP.NET MVC 2 미리보기 2 - LabelExtensions.LabelFor 확장

유형 인수 : 나는 동시에, labelFor 줄에 오류가 발생하지만

public static MvcHtmlString RenderLabelFor<TModel, TValue> (
    this HtmlHelper html, 
    Expression<Func<TModel, TValue>> value, 
    object htmlAttributes 
) where TModel : class 
{ 
    TagBuilder builder = new TagBuilder("td"); 
    builder.MergeAttributes(new RouteValueDictionary(attributes)); // to convert an object into an IDictionary 
    builder.InnerHtml = LabelExtensions.LabelFor(html, value).ToString(); 
    return MvcHtmlString.Create(builder.ToString(TagRenderMode.Normal)); 
} 

. Mvc.Html.LabelExtensions.LabelFor (System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>) '는 사용법에서 유추 할 수 없습니다. 형식 인수를 명시 적으로 지정하십시오.

누구나 저에게 뼈를 던질 수 있습니까?

+0

Bueller? 뷰어? – plancake

답변

3

이 당신을 도울 너무 늦을 수 있습니다 시도,하지만 당신은과 같이, 당신의 방법 서명에 HtmlHelper의 일반 버전을 사용해야합니다 :

public static MvcHtmlString RenderLabelFor<TModel, TValue> (
    this HtmlHelper<TModel> html, 
    Expression<Func<TModel, TValue>> value, 
    object htmlAttributes 
) 
{ 
    ... 
} 
+0

@Plancake : 고마워, 대답과 함께 질문이 내게이 하나 알아 내려고의 두통을 저장했습니다. –

0

public static MvcHtmlString RenderLabelFor<TModel, TValue> (HtmlHelper html, <Func<TModel, Value>> value, object htmlAttributes) where TModel : class 
+0

아니요, 죄송합니다. 여전히 오류가 발생했습니다 – plancake

+0

추가 조항을 추가하려고 시도했습니다 : TValue : 클래스 운이 없다! – plancake