2009-03-20 4 views
0

의 액션을 바탕으로 작업을 기반으로 렌더링됩니다 컨트롤 변경하는 가장 좋은 방법은 무엇입니까?ASP.NET MVC 읽기 전용 필드 만들기/편집 마크 업을 캡슐화하는 ASP.NET MVC에서 부분보기를 사용하는 경우 부분보기

예를 들어, 나는 계정을 볼 때 단지 이메일 주소 (일반 HTML을 통해) (텍스트 상자를 통해) 계정 생성시 입력 한 후 볼 수 있도록합니다.

<% if(Action == Create) { 
    Html.TextBox("EmailAddress") 
} else { 
    Html.Encode(Model.Person.EmailAddress) 
} %> 

어떤 제안 : 의사 코드에서

, 나는 이런 식으로 뭔가를 기대하고있어?

답변

1

당신은 로직을 캡슐화하기 위해 자신의 HTML 도우미 클래스를 사용할 수 있습니다

public static string DualModeTextBox(this HtmlHelper helper, ViewMode viewMode, string textBoxName, string textBoxValue) 
{ 
    if (viewMode == ViewMode.Edit) { 
    return System.Web.Mvc.Html.InputExtensions.TextBox(helper, textBoxName); 
    } 
    //else 
    return helper.Encode(textBoxValue); 
} 

을 당신은 또한 MVC controls을 고려할 수보다 복잡한 작업의 경우.

관련 문제