Html.Partial:呈现部分视图,而不首先点击控制器操作。请参阅:Partial Views
Html.Action调用控制器操作,可能会返回视图/部分视图(或者可能不会,它可能会抛出HttpNotFound或者返回Json或其他东西)。
您的菜单是需要视图模型还是静态?
如果是静态菜单,Html.Partial将满足您的需求。将静态菜单内容放在局部视图中,并将Html.Partial调用到您想要渲染的位置。
如果从视图模型生成菜单,您可以使用Html.Partial或Html.Action:
使用Html.Partial链接视图模型:
public class MenuViewModel {
// menu data goes here
}
public class GeneralViewModel : MenuViewModel {
// general view info goes here
}
public ActionResult Index() {
return View(new GeneralViewModel());
}
// View Code
@model GeneralViewModel
这里我们将一个完整的视图模型传递给视图,视图调用Partial并将其模型移交给局部视图。
**使用Html.Action分离模型:**
public ActionResult Index() {
return View(new GeneralViewModel());
}
public ActionResult MenuView() {
return PartialView(new MenuViewModel());
}
// View Code
@model GeneralViewModel
此处视图调用控制器操作MenuView,它会创建一个新的视图模型并将其传递给部分模型。
本文详细介绍了在ASP.NET MVC中,如何使用Html.Partial和Html.Action来呈现部分视图。Html.Partial直接呈现局部视图,适合静态菜单,而Html.Action则可以调用控制器操作,适用于视图模型动态生成菜单。通过实例展示了如何传递模型数据,并解释了两者在不同场景下的适用性。
8592

被折叠的 条评论
为什么被折叠?



