Asp.net mvc 3 要通过布局将@renderbody()放入部分视图源中吗

Asp.net mvc 3 要通过布局将@renderbody()放入部分视图源中吗,asp.net-mvc-3,asp.net-mvc-3-areas,Asp.net Mvc 3,Asp.net Mvc 3 Areas,创建MVC3Razor项目。具有非常复杂的UI设计。我想通过_布局将@renderbody()放入部分视图源中。编译器不允许我这样做。有办法做到这一点吗?您可以选择主/子布局,而不是局部视图 MasterLayout.cshtml <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>@ViewBag.Title</title> </head

创建MVC3Razor项目。具有非常复杂的UI设计。我想通过_布局将@renderbody()放入部分视图源中。编译器不允许我这样做。有办法做到这一点吗?

您可以选择主/子布局,而不是局部视图

MasterLayout.cshtml

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title>@ViewBag.Title</title>
</head>
<body>
  @RenderBody()
</body>
</html>
@{
  Layout = "~/Views/Shared/_MasterLayout.cshtml";
}

// html code above render body
@RenderBody()
// html code below render body

您的子布局(
Layout.cshtml
)包含应该在局部视图中的代码。

否。您只能在布局中使用
@RenderBody
。这正是我所担心的。谢谢。你能不能再详细介绍一下你想通过部分视图实现什么?理想情况下,我想在部分视图中移动一大块html(div中的一个表)。我希望此标记包装@renderbody()。如果我不能将@renderbody()放在一个部分中,那么标记必须放在_布局中,或者分为两个部分,这既混乱又混乱。当回答这个问题时,我没有投票的能力。迟来的谢谢。