无法弄清楚如何返回部分视图而不是全部

Posted

技术标签:

【中文标题】无法弄清楚如何返回部分视图而不是全部【英文标题】:Cannot figure out how to return part of the view and not all of it 【发布时间】:2013-01-26 01:55:49 【问题描述】:

我试图调用一个视图,但不是全部。我以前偶然做过,但我不记得我是怎么做的,然后又做了一次。

这是我展示的示例:

我只想显示红色圆圈所在的区域。

代码如下:

public ActionResult Logon()

  return View();

真的很简单,但我有 return PartialView(); 但这并没有改变它。

有人有什么想法吗?

【问题讨论】:

【参考方案1】:

检查你的局部视图是否设置了布局

类似

@
     Layout = "views/shared/sitelayout.cshtml";

如果是局部视图,那么您可以(可能)删除它

如果你没有看到这一行,你可能有一个默认的布局继承,需要删除它。然后试试这个

@
     Layout = null;

【讨论】:

我的视图中除了 hmtl 和一些 @Html.DisplayFor 但没有布局之外没有任何内容。感谢您的快速回复。【参考方案2】:

在 ASP.NET MVC 中,默认模板有一个名为 Layout.cshtml 的页面,它被用作调用 @RenderBody() 方法的此布局内的其他视图呈现的基本视图。它在 _ViewStart.cshtml 页面中定义,并自动应用于所有视图。如果要呈现没有 Layout 页面的 View,则必须将 View 的 Layout 属性设置为 null。

@
   Layout = null;

但是,请记住,如果您的视图没有,您必须添加一些 html 布局才能获得正确的 html。像这样的:

@
   Layout = null;

<html>
<head>
   <title>@ViewBag.Title</title>
<body>

// content view

</body>
</html>

您也可以使用 Html.RenderPartial 方法在另一个视图中渲染视图:

@Html.RenderPartial("YouPartialFileName")

【讨论】:

以上是关于无法弄清楚如何返回部分视图而不是全部的主要内容,如果未能解决你的问题,请参考以下文章

Android:使用 CursorLoader 加载联系人,而不是全部加载

返回一个指向 char 数组的指针。如何打印出数组的全部内容?

如何在 Android JAVA 的列表视图中显示部分但不是全部 JSON 数据

无法弄清楚如何在同一 ScrollView 中的 WebView 上方添加自定义视图

是否有 Make 调试器?我需要弄清楚别人的makefile

斯威夫特:无法弄清楚如何保存用户离开表格视图的方式