2009-07-19 5 views
2

ASP.NET MVC 용 Html 도우미를 사용하는 경우 Response.Write에 포장해야합니다. 그렇지 않으면 나타나지 않습니다. 그러나 (예 : 1 & 2) ASP.NET MVC에서 온라인으로 찾은 것 같지 않습니다. 무언가가 어딘가에서 바뀌었나? 내가 이렇게해야 찾을 수 샘플에서ASP.NET MVC HTML 도우미 - Response.Write가 필요합니까?

:

<div class="row"> 
    <% Html.ActionLink("View", "Details", "People"); %> 
</div> 

그러나 아무것도 표시되지 않습니다, 그래서 다음과 같이 나는 Response.Write에 그것을 포장 할 필요가 :

<div class="row"> 
    <% Response.Write(Html.ActionLink("View", "Details", "People")); %> 
</div> 

답변

16

당신이 필요합니다 다음과 같이 작성하십시오 :

<div class="row"> 
    <%= Html.ActionLink("View", "Details", "People") %> 
</div> 

Html.ActionLink 전에 % =에 유의하십시오. 그러면 값이 응답에 기록됩니다.

+0

이후 버전에서는'<% :'를 사용할 수 있습니다 –

9

Html.ActionLink은 응답 스트림에 아무 것도 쓰지 않습니다. 그냥 string을 반환합니다. 응답에 당신이 Response.Write 사용할 필요가 있음을 출력하려면 :

<% Response.Write(Html.ActionLink("View", "Details", "People")); %> 

또는 대안을 Response.Write위한 속기있다 : 후자의 구문은 오히려 문보다는 표현이 필요하다는

<%= Html.ActionLink("View", "Details", "People") %> 

참고, 따라서 세미콜론을 사용할 수 없습니다.

관련 문제