2013-07-25 224 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”是局部视图名称局部视图。