2009-07-19 19 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(Html.ActionLink("View", "Details", "People")); %> 

または代わりに、Response.Writeの省略形があります:あなたはResponse.Writeを使用する必要が対応していることを出力するには、後者の構文は表現ではなく、文が必要であることを

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

は注意、したがって、セミコロンを持つべきではありません。

関連する問題