2013-01-14 6 views
4

웹 페이지를 시작하기 시작한 것이므로 코드 블록이 작동하지 않는 이유를 알 수 없습니다. 조건부로 WebGrid를 표시해야합니다. 내가 시작하기 전에 나는이 있습니다 면도기 코드 사용량

<div> 
@grid.GetHtml() 
</div> 

가 지금은 if 문을 삽입하려고 :

<div> 
    @if (condition) { grid.GetHtml(); } 
</div> 

이 표시 없음 그리드 HTML을 초래한다. '

<div> 
    @{ grid.GetHtml(); } 
</div> 

불행히도 내가 그래서 디버그 할 수 없습니다 WebMatrix를 실행 해요,하지만 난 코드 블록을 진술 돈을 사용할 때마다 것 같다 : 사실조차 if 문없이 단지 코드 블록과 나는 어떤 HTML을 얻을 실행하지 마십시오.

+0

OK HTML 출력에 @ 기호를 사용해야합니다. {@ grid.GetHtml()}' –

답변

3

한 줄로 된 문장의 경우 코드 블록에 넣는 대신 @ 기호를 사용해야합니다. 여전히 코드 블록에 넣는다면 (필요한 경우가 있습니다) grid.GetHtml();을 호출하여 그리드를 표시하지 않습니다. @ 기호가 사용 된 이유는 값을 쓰고 싶다는 뜻입니다. HTML 코드로 작성하는 경우에만 이것을 사용해야합니다. 코드 블록을 사용할 때이 값을 다음과 같이 써야한다고 서버에 알려야합니다.

@{ 
this.Write(grid.GetHtml()); 
}