【发布时间】:2017-03-26 16:52:54
【问题描述】:
我目前正在使用 PHP Laravel (5.4) 基于我过去制作的现有 ASP.NET MVC 版本开发 CMS。由于大部分 ASP.NET 版本都是用 JS 编写的,因此我试图在我正在开发的较新的 Laravel 版本中尽可能多地重用。由于 Laravel 与 ASP.NET MVC 架构的相似性,我已经将大部分 C# 代码翻译成 PHP,这有点简单。
目前,我在尝试从视图中调用控制器操作时遇到问题,该操作将依次呈现部分视图。在 ASP.NET MVC 版本中,我使用 Html.RenderAction 助手完成了此操作。
ASP.NET MVC 示例:
<div>
@{Html.RenderAction("Controller", "Action");}
</div>
我想知道是否有任何替代 Html.RenderAction 助手可以用来完成此任务。
我搜索了互联网和 Laravel 的文档,从我能找到的内容来看,View Composers 似乎是最接近的替代方案。不幸的是,我没有找到任何可以解决我的问题的示例。
@Farrukh 建议使用 View Composers,它确实按预期工作。问题是我需要为我想要渲染的每个局部视图添加一个 View Composer 到 AppServiceProvider。
我找到了另一个解决方案,它允许我从视图中调用操作并呈现部分视图:
<?php echo \App\Http\Controllers\PageController::listAll(); ?>
但是这个解决方案似乎不是很干净。
【问题讨论】:
标签: asp.net-mvc laravel laravel-5 renderaction