繁体   English   中英

来自不同位置的HTML.RenderAction?

[英]HTML.RenderAction from Different location?

我的控制器中有[ChildActionOnly] ,名称为_AllLinks

如果_AllLinks.cshtml位于控制器目录中,则可以使用RenderAction,但如果尝试将其放在VIEWS文件夹中的其他目录中,则不能使用它,例如:

Html.RenderAction("_AllLinks", "Home", new { Model = Model, Area = "Core/List/" });

_AllLinks.cshtml位置是Views/Core/Lists/

如果名为_AllLinks的PartialView位于不同的文件夹中,如何调用Html.RenderAction?

干杯

编辑

public ActionResult Index()
        {

            return View();
        }

        [ChildActionOnly]
        public ActionResult _AllLinks(List<Models.Links.MLink> Model)
        {
            return PartialView("~/Views/Core/Lists/_AllLinks", Model);
        }

是! 您可以。 您需要显式指定视图的完整路径。

[ChildActionOnly]
public ActionResult _AllLinks(List<Models.Links.MLink> Model)
{
    return PartialView("~/Views/Core/Lists/_AllLinks.cshtml",Model);
}

确保使用带有文件扩展名.cshtml )的完整路径

另外,您应该使用与您的操作方法签名匹配的路由值来调用RenderAction。

<div>
    @{ Html.RenderAction("_AllLinks", "Home", new {model = Model}); }
</div>

我的代码:

public PartialViewResult Language()
{
    return PartialView("Admin/Languages/_LanguageEditView");
}

_LanguageEditView位于Shared/Admin/Languages/文件夹中。 我认为, Shared对于部分视图很重要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM