Razor View引擎中的Html.Partial

Gab*_*abe 1 c# razor asp.net-mvc-3

PartialView使用Razor View Engine在我的MVC3项目中进行了简单的设置.在Partial将呈现,但如果我在控制器中设置一个断点上ActionPartial,它从来没有被击中.如果我更改URL直接去了PartialView,即HTTP://本地主机:13965 /首页/ GridControl,那么断点命中.我错过了什么?

我的看法:

@model MyModel

@Html.Partial("GridControl",  Model)
Run Code Online (Sandbox Code Playgroud)

我的控制器:

public ActionResult GridControl()
{
   return PartialView();
}
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 6

Html.Partial不会调用控制器动作.这是一个简单的包含在您调用它的地方的局部视图.

如果要调用控制器操作,则需要使用Html.Action或Html.RenderAction帮助程序,如下所示:

@Html.Action("GridControl")
Run Code Online (Sandbox Code Playgroud)

要么:

@{Html.RenderAction("GridControl");}
Run Code Online (Sandbox Code Playgroud)

显然,在这种情况下,您没有传递任何模型,因为您的控制器操作不期望任何模型作为参数,并且它有责任获取模型并将其传递给将呈现并包含在您所在位置的部分视图叫这个助手.