2013-02-27 1 views
2

나는 자신의 값으로 특정 속성을 전달하는 것에 따라 생성하려고합니다.HTMLHelper는 속성 값뿐만 아니라 속성 이름에도 사용할 수 있습니까?

<sometag attributeName="attributeValue"/> 

가 어떻게 헬퍼에 있음을 표현 할 수 있습니다,이 결과가 될 수있는 자신의 일을 PossibleHelper 후

<sometag @PossibleHelper(parameter)/> 

: 이것은 내가 도우미를 사용하려면 어떻게?

@helper PossibleHelper(someType){ 

    if(condition){ 
     attributeName="attributeValue"  //this is wrong 
    } 
} 

답변

2

도우미가되면 그냥 면도기 구문입니다.

@helper PossibleHelper(SomeType something) { 
    if (condition) { 
     <span attributeName="attributeValue">blah</span> 
    } 
} 

이와 같은 속성을 설정할 수 있습니다.

@helper PossibleHelper(int something) { 
    var attrValue = string.Empty; 
    if (true) { 
     attrValue = "attributeValue"; 
    } 
    @(string.Format("attribute={0}", attrValue)) 
} 

사용법 :

<sometag @PossibleHelper(parameter)/> 

참고로, 당신은 또한 코드 뷰간에 공유 또는 로직의 상당한 금액이 있으면 더 좋을 수 HtmlHelper에 대한 확장 메서드를 만들 수 있습니다.

public static class HtmlHelperExtensions 
{ 
    public static MvcHtmlString SomeExtension(this HtmlHelper htmlHelper) 
    { 
     // ... 
    } 
} 
+0

감사합니다. Tyriar. @functions는 또한 내가하는 것을하기위한 대안이기도하다. – mjsr

관련 문제