2013-11-01 2 views
0

에서 컨트롤 그밖에 논리는 내가 내보기에 다음 코드가 있습니다asp.net MVC 피하기는 경우보기

@if (Model is Manager) 
     { 
      //render manager button 
     } 
     else if (Model is Developer) 
     { 
      //render Developer button 
     } 
     else if (Model is UX) 
     { 
      //render UX button 
     } 

이 작동을하지만, 나는 그것을 할 수있는 가장 좋은 방법을 찾고 있어요. 아이디어가 있으십니까?

+0

이 방법은 그 면도기 위해 설계 된 것입니다, 괜찮습니다. – user65439

답변

5

확장 메서드를 사용하여 여러 엔터티에 대한 컨트롤 논리를 구현할 수 있습니다. 보기

public static MvcHtmlString userButton(this HtmlHelper html, Manager user) 
    { 
     string buttonForManager = //... 
     return new MvcHtmlString(buttonForManager); 
    } 

    public static MvcHtmlString userButton(this HtmlHelper html, Developer user) 
    { 
     string buttonForDeveloper = //... 
     return new MvcHtmlString(buttonForDeveloper); 
    } 

사용 :

@Html.userButton(Model)