【问题标题】:Create a Dynamic Menu Link创建动态菜单链接
【发布时间】:2013-07-26 21:05:46
【问题描述】:

如何调用任一

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());
 }

我也有一个局部视图,但现在什么都没有,因为我什至不能正确地调用它

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4


    【解决方案1】:

    改变

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

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

    它应该可以工作。

    【讨论】:

      【解决方案2】:

      您应该传递对象而不是 RenderActionRenderPartial 方法中的类型。

      【讨论】:

      • 对象是什么意思,这是所有footermenu的列表,我是asp.net的新手
      • @Jseb,很高兴为您提供帮助。 Moorestown.Models.FooterMenu 实际上是 Type;但是该对象已经由控制器传递给您的视图。您将在视图中使用关键字 Model 获得对象的句柄。从那里,您将能够通过控制器访问您注入此视图的所有属性/对象。
      • 我看到你可以做这样的事情 @{ Html.RenderAction("Items", new { requestId = Model.Id }); }。但是,我再次想要一个列表,例如在我的索引中定义的所有 FooterMenu 的索引
      • 好的。您在寻找类似 Paging 的东西吗?
      【解决方案3】:

      你可以用这个调用局部视图

      @Html.Partial("_DistrictDetailGrid", 模型)

      “_DistrictDetailGrid” 是部分视图名称。

      【讨论】:

        猜你喜欢
        • 2015-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-22
        • 1970-01-01
        相关资源
        最近更新 更多