【发布时间】:2012-09-26 12:41:40
【问题描述】:
我正在用 ASP.Net MVC4 开发一个应用程序,但遇到了一个奇怪的空白问题。我用 Razor 开发了很多 MVC3 网站,没有这个问题。
这是我的模板 cshtml 文件:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>HF - Content Management - @ViewBag.Title</title>
<link href="@Url.Content("~/content/bootstrap/bootstrap.min.css")" rel="stylesheet" />
@Styles.Render("~/bundles/css/hf-cms-logged-in")
</head>
<body>
@Html.Partial("Partials/NavBar")
<div class="container">@RenderBody()</div>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="@Url.Content("~/scripts/bootstrap/bootstrap.min.js")"></script>
@Scripts.Render("~/bundles/js/validation")
<script src="@Url.Content("~/scripts/hf-cms.js")"></script>
</body>
</html>
注意调用 RenderBody() 的那一行 - 这里没有多余的空格。
当我调用一个动作时,渲染的主体会添加一些空白,我看不到我已经添加了这些空白,而且似乎无法摆脱这些空白。我调用一个没有逻辑的动作,它只返回以下视图:
@{
ViewBag.Title = "Dashboard";
}
<h1>Dashboard</h1>
它肯定使用了正确的模板(在我的 _ViewStart.cshtml 中指定)
在谷歌浏览器中查看页面,源代码显示额外的空白。见下图:
在 IE10 中可以看到类似的问题。这显然影响了设计。我尝试使用Meleze.Web 去除任何多余的空白,但空白仍然存在。
我对这个感到茫然,因为到目前为止它是一个相对简单的网站,还没有什么时髦的东西,所以我看不出这个空白是从哪里来的。
以前有没有其他人用 MVC4 或 Razor 看到过这个?
编辑:我已经尝试删除所有样式表和脚本文件,空白仍然存在。
【问题讨论】:
-
Partials/NavBar的内容是什么? -
我以前见过这个,但是在浏览器中查看时它并没有影响元素的布局。它对您的设计有何影响?
-
我不认为 NavBar 视图会影响有问题的空白,因为它位于单独的 div 中,但尽管如此:pastie.org/4808917
-
我正在使用 Twitter Bootstrap,但我还没有弄清楚哪些 CSS 规则会影响它,但是如果我在 Chrome 开发人员工具/html 检查器中删除该空格,则该空格下方的内容会向上移动大约 20 像素
-
如果您有 VS2012,您是否尝试过 Page Inspector 功能以查看它是否会详细说明您的来源?
标签: asp.net-mvc razor asp.net-mvc-4