2012-07-18 4 views
6

내 MVC 응용 프로그램에 일부 데이터를 표시하기 위해 Html.Label을 사용하고 있습니다. 나는 이메일 주소를 표시하려고 할 때 제대로이메일 주소를 표시하는 Html.Label

Model.CopyToEmail = [email protected] 
@Html.Label((string)(Model.CopyToEmail)) 

렌더링하지 않습니다하지만 난 볼 수있는 렌더링 된 출력은

com 

사람이

[email protected] 
Html.Label

를 사용하여 표시하는 방법을 제안 해주십시오 수 있습니다
+0

모델을 채우는 컨트롤러 코드와 함께보기 코드를 게시 할 수 있습니까? – mreyeros

답변

12

Html.Label<label> 태그를 표시하는 입력란을 취합니다.
문자열을 중첩 된 속성으로 읽고 가장 안쪽의 속성 이름을 출력하고 있습니다.

@Model.CopyToEmail 

또한 @Html.DisplayFor(m => m.CopyToEmail)를 호출 할 수

는 그냥 일반 텍스트를 쓰고 싶어요.

1

뷰 유형에보기 모델을 전달하는 강력한 형식의 뷰를 사용하면 ViewBag/ViewData을 사용하지 않는 을 사용하는 것이 좋으며 일반 html 헬퍼의 오버로드. 다음은 HTML에서 강력한 형식의 HTML 도우미

Html.LabelFor(model => model.CopyToEmail) 

그리고 라벨을 사용하여 다시 작성하여 예는 속성을 편집중인 레이블이 하고, 데이터를 표시 할 수 없다이다. 당신은 속성 값을 반환하는 재산에 [DisplayAttribute]를 사용하거나 this overload

public static MvcHtmlString Label(
    this HtmlHelper html, 
    string expression, 
    string labelText 
) 

//

Html.LabelFor(model => model.CopyToEmail, Model.CopyToEmailLabelText) 
+1

그 사람이 원하는 것은 아닙니다. – SLaks

+0

@SLaks 사실, 내 대답을 편집했습니다 – archil

1

당신이보기에 모델 또는 데이터 소스를 보면시겠습니까 사용할 수 있습니다와 같은 즉, Html.Encode(Model.Email)

+0

자동으로 면도기가 인코딩됩니다. 그리고 인코딩은 어쨌든 이것을하지 않을 것입니다. – SLaks

관련 문제