首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在umbraco8中使用来自控制器的动作函数

在umbraco8中使用来自控制器的动作函数
EN

Stack Overflow用户
提问于 2020-06-07 11:51:44
回答 2查看 382关注 0票数 0

我正在用umbraco8创建一个新的网站,我有一个问题,如何从主页的角度加载一个

主页查看

代码语言:javascript
复制
@inherits Umbraco.Web.Mvc.UmbracoViewPage<ContentModels.HomePage>
@using ContentModels = Umbraco.Web.PublishedModels;
@{
    Layout = "webBase.cshtml";
}

@{ Html.RenderAction("RenderHomeSlider", "HomePage"); } 

主页控制器

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Umbraco.Web.Mvc;
using System.Web.Mvc;
using Umbraco.Core.Models;
using HAWELE.Models;
using Archetype.Models;
using Umbraco.Web;
using System.Threading;
using Umbraco.Web.Mvc.SurfaceController;
 public class HomePageController :  Umbraco.Web.Mvc.SurfaceController
{   

    public ActionResult Index(RenderModel model)
    {
        return base.Index(model);
    }
    private const string PARTIAL_VIEW_HOME_FOLDER = "~/Views/Partials/HomePage/";

    public ActionResult RenderHomeSlider(this HtmlHelper html)
    {
        return PartialView(PARTIAL_VIEW_HOME_FOLDER + "_HomeSlider.cshtml");
    }
}
EN

回答 2

Stack Overflow用户

发布于 2020-06-09 06:36:38

这个问题与Umbraco无关。调用方法中缺少[ChildActionOnly]属性:

代码语言:javascript
复制
RenderAction(HtmlHelper, String, String)

使用指定的控制器名称调用指定的子操作方法,并在父视图中内联呈现结果。

https://learn.microsoft.com/en-us/dotnet/api/system.web.mvc.html.childactionextensions.renderaction?view=aspnet-mvc-5.2

票数 0
EN

Stack Overflow用户

发布于 2020-06-09 18:58:40

尝试以下几点:

从控制器中移除索引方法。它与表面控制器无关。

修改RenderHomeSlider操作以:

代码语言:javascript
复制
public ActionResult RenderHomeSlider()
{
    return PartialView(PARTIAL_VIEW_HOME_FOLDER + "_HomeSlider.cshtml");
}

在你看来这条线

代码语言:javascript
复制
@{ Html.RenderAction("RenderHomeSlider", "HomePage"); } 

应改为

代码语言:javascript
复制
@Html.Action("RenderHomeSlider", "HomePage")

这应该呈现_HomeSlider.cshtml中的html。

还不清楚您的_HomeSlider.cshtml部分是否需要传递任何模型,所以我假设它不需要。

要测试上面的内容是否有效,您只需将一些简单的文本放在您的部分中,并查看它是否呈现在页面上。

我不知道您的代码其余部分是什么样子,所以不能确切地说明您在这里试图实现的目标是否是最快捷的方法。

祝好运

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62244891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档