我不能得到這個工作,我想顯示一個簡單的藝術家名單,但總是得到空鏈接。Html.Encode不會返回任何東西
foreach (Artist artist in Model)
{%>
<a href="gotosomewhere"><% Html.Encode(artist.Name); %></a>
<%}
我已經調試過它,並且我確定Model包含藝術家列表。
謝謝, 彼得
我不能得到這個工作,我想顯示一個簡單的藝術家名單,但總是得到空鏈接。Html.Encode不會返回任何東西
foreach (Artist artist in Model)
{%>
<a href="gotosomewhere"><% Html.Encode(artist.Name); %></a>
<%}
我已經調試過它,並且我確定Model包含藝術家列表。
謝謝, 彼得
將其更改爲:
<%= Html.Encode(artist.Name) %>
注意 「等於」 和缺乏收盤分號。這是用於將字符串值輸出到響應的格式。其他格式只是在頁面上下文中執行代碼,但不會自動寫入響應。
事實上,ASP.NET中的<% some code %>
語法很容易轉換爲「執行此代碼」。
ASP.NET中的<%= some code %>
語法翻譯爲Response.Write(some code)
。
基於此,變得清楚爲什麼<% Html.Encode(...); %>
什麼都不返回。它是對你的文本進行編碼,但沒有人將它寫入響應中!使用<%= Html.Encode(...) %>
,ASP.NET編譯器將其轉換爲Response.Write(Html.Encode(...))
,這顯然會將編碼文本寫入響應。
您是否有任何其他控件是您從同一位置請求的,正在填充的。確認您正確地將表單傳遞給控制器? – TStamper 2009-04-14 20:33:02
我有這麼多次相同的問題。你盯着一段代碼這麼長時間,最後它是一個模糊的等號。 – 2009-04-14 21:52:27