Asp.net MVC - 从区域渲染局部视图

Dav*_*Dev 6 c# asp.net-mvc renderpartial asp.net-mvc-areas

我创建了一个区域,可以处理我们所有开发产品中的一些通用的东西,就像登录,HTML帮助器等.在该区域内,我有一个局部视图,我试图在该区域之外引用.我已经注册了该地区

public class Routes : AreaRegistration
{
    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "Common_default",
            "Common/{controller}/{action}/{id}",
            new {
                controller = "Account",
                action = "Index",
                id = UrlParameter.Optional
            });
    }

    public override string AreaName
    {
        get { return "MvcCommons"; }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在在常规项目中,我试图在MvcCommons区域中引用一个视图......

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

<h2>TestGrid</h2>

<% Html.RenderPartial("jQGridTable", ViewData.Model); %>
Run Code Online (Sandbox Code Playgroud)

但我一直认为没有找到视图.之前,在创建MVC Commons项目时,我收到了查看错误,但错误告诉我它在区域文件夹和默认视图文件夹中都有查看.这次,我只获取默认文件夹.有没有办法实现这个目标?

感谢大家!

Kal*_*exx 5

我实际上不必这样做,但我猜你应该使用Html.RenderAction()相反的东西Html.RenderAction("action", "controller", new { area = "Area", model = ViewData.Model }).

model必须替换为action的参数名称,但这应该有效.

编辑这将需要一个控制器和视图设置为每个操作.