簡體   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