2013-11-29 22 views
1

这里是我努力Html.RenderPartial作品,但Html.RenderAction不工作(空白),并没有错误或异常

布局

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <title>WebApp Name</title> 
    <meta charset="utf-8" /> 
</head> 
<body> 
    <div id="menuContainer"> 
    @{Html.RenderPartial("~/Views/CustomPartials/_MainMenuPartial.cshtml");} @*Works*@ 
    @*@{Html.RenderAction("GetMenuStructure", "Custom");}*@ @*Not working*@ 
    </div> 
    <div> 
    @RenderBody() 
    </div> 
</body> 
</html> 

控制器和操作方法

namespace Webappl.Controllers 
{ 
[Authorize] 
public class CustomController : Controller 
{ 
    [AllowAnonymous] 
    [ChildActionOnly] 
    public ActionResult GetMenuStructure() 
    { 
    return PartialView("~/Views/CustomPartials/_MainMenuPartial.cshtml"); 
    } 
} 
} 

_MainMenuPartial.cshtml

<ul id="ul_MainMenuStructure"> 
    <li><a href="#">Guest Pg1</a></li> 
    <li><a href="#">Guest Pg2</a></li> 
    <li><a href="#">Guest Pg3</a></li> 
</ul> 

问题是

@{Html.RenderPartial("~/Views/CustomPartials/_MainMenuPartial.cshtml");} 

渲染_MainMenuPartial.cshtml的内容到布局完美。

虽然

@{Html.RenderAction("GetMenuStructure", "Custom");} 

不执行任何操作。没有错误。没有例外。只是空白。如果我把断点放在

return PartialView("~/Views/CustomPartials/_MainMenuPartial.cshtml"); 

断点正在被击中。我按下F5,它向前移动而没有任何错误/异常,但菜单结构不会在布局中呈现。我所有的是空白的

<div id="menuContainer"> 
</div> 

当我在浏览器中查看它的最终呈现页面。

我需要通过执行某些自定义逻辑的操作方法来完成它。这就是为什么渲染部分是不够的。

我无法找到类似的行为报告任何地方,包括计算器。这可能是糟糕的/谷歌搜索技巧。

有些帮助将非常感谢。现在让我的头在它上面刺激3天。

+0

虚心请求一些帮助与此有关。我确定有StackOverflow的专家可以帮助解决这个问题。我尝试了最好的新手技能,但无法找出原因。有人请帮助! – Michael

+0

亲爱的管理员我想知道我的问题是否对其他人可见。因为它与“Stackoverflow”不同,甚至没有对问题做出单一回应。我发现许多其他更简单和更复杂的问题在发布后几小时内至少发表过评论。 10天,甚至没有一个回应让我感到惊讶。它也是一个非常相关的问题... – Michael

+0

我有完全相同的问题。你自己解决了吗? – David

回答

0

我只是改变

@Html.RenderAction("X", "Y") 

@Html.Action("X", "Y") 
相关问题