當我使用partial view(MVC3/Razor)時,會出現這個問題,但我相信 - 這是清晰的Razor語法問題,不直接與局部視圖相關。 所以 - 我有局部視圖Menu.cshtml全標記爲:ASP.NET MVC 3剃刀語法問題
@model IEnumerable<SportsStore.WebUI.Models.NavLink>
@foreach(var link in Model)
{
@Html.RouteLink(link.Text, link.RouteValues);
}
沒問題 - 「家長」視圖叫它@ {Html.RenderAction(「菜單」,「導航」);}和所有的工作作爲魔術。 但是,如果我將編輯Menu.cshtml爲:
@model IEnumerable<SportsStore.WebUI.Models.NavLink>
@foreach(var link in Model)
{
Html.RouteLink(link.Text, link.RouteValues);
}
(!見 - NO '@' Html.RouteLink)之前都只是朗聲道:現在@ {Html.RenderAction( 「菜單」,「導航「);}輸出完全是空的,沒有一個HTML標籤。
想知道 - 兩段代碼有什麼區別?我假設@之前foreach也自動「落入」並適用於Html.RouteLink以及?所以 - 我錯了嗎?
你先生,是我的英雄。我正在通過看起來同樣的SportsStore文章,但我正在轉換到VB.Net。 C#和VB之間的轉換通常是微不足道的,但使用Razor可能會非常棘手。我在RouteLink中遇到了同樣的問題,不能創建輸出,看起來VB.Net遭受同樣的缺陷(閱讀:應用相同的邏輯)......我添加了「@」,並且所有的事情都再次被點擊了。謝謝@Smarty – Smudge202 2011-08-03 12:25:11