2013-07-25 162 views
0

如何才能呼叫創建動態菜單鏈接

RenderAction or Partial 

我有嘗試以下兩種方式

@Html.RenderAction("Link", Moorestown.Models.FooterMenu); 
@Html.RenderPartial("Link", Moorestown.Models.FooterMenu); 

這個位於我的共享觀點,但我試圖調用部分頁腳鏈接,所以我可以有一個動態菜單。

錯誤是Moorestown.Models.FooterMenu is a type which is not valid in the following context

這裏我有多麼FooterMenu控制器的動作看起來像

public PartialViewResult Link() 
{ 
    return PartialView(db.FooterMenus.ToList()); 
} 

我也有部分觀點,但有什麼也沒有現在,因爲我甚至不能稱之爲corrctly

回答

1

變化

@Html.RenderAction("Link", Moorestown.Models.FooterMenu); 

@Html.RenderAction("Link", "FooterMenu"); 

它應該工作。

0

你應該傳遞對象,而不是RenderActionRenderPartial方法中的類型。

+0

你是什麼意思的對象,這是所有footermenu的列表,我是新來的asp.net – Jseb

+0

@Jseb,很樂意幫助你。 Moorestown.Models.FooterMenu實際上是Type;但是該對象已經由控制器傳遞給您的視圖。您將在視圖中使用關鍵字** Model **獲取對象的句柄。從那裏你將能夠訪問你通過你的控制器注入到這個視圖的所有屬性/對象。 – Prash

+0

我已經看到你可以做這樣的@ {Html.RenderAction(「Items」,new {requestId = Model.Id}); }。然而,我想要一個列表,比如我的索引 – Jseb

0

可以調用這個

@ Html.Partial( 「_ DistrictDetailGrid」,模型)

「_DistrictDetailGrid」是局部視圖名稱局部視圖。