我正在使用JQuerymobile,我的一个链接具有data-rel =“dialog”属性,该属性在对话框中启动我的页面。但是我注意到,启动的页面具有主页面中的导航栏和标题。
为什么会发生这种情况?
我的_layout.cshtml是:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title</title>
<script src="../../Scripts/jquery-1.6.4.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.mobile-1.1.0.js" type="text/javascript"></script>
<link href="../../Content/jquery.mobile-1.1.0.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div data-role="page">
<div data-role="header">
<h1>Page Title</h1>
<div data-role="footer">
<div data-role="navbar">
<ul>
<li><a href="#">One</a></li>
<li><a href="#">Two</a></li>
<li><a href="#">Three</a></li>
</ul>
</div>
<!-- /navbar -->
</div>
</div>
<!-- /header -->
<div data-role="content">
@RenderBody()
</div>
<!-- /content -->
<div data-role="footer">
<h4>Page Footer</h4>
</div>
<!-- /footer -->
</div>
<!-- /page -->
并且index.cshtml是:
@{
ViewBag.Title = "Home Page";
}
<h2>@ViewBag.Message</h2>
<ul>
<li>@Html.ActionLink("Home", "Index", "Home", null, new { data_rel = "dialog" })</li>
<li>@Html.ActionLink("About", "About", "Home", null, new { data_rel = "dialog" })</li>
</ul>
和about.cshtml是:
@{
ViewBag.Title = "About Us";
}
<h2>About</h2>
<p>
Put content here.
</p>
所以我将About.cshtml显示为对话框弹出窗口,但同时显示了标题和导航栏(我不希望这样显示)。
答案 0 :(得分:1)
_layout.cshtml。要覆盖此行为,请尝试使用about.cshtml:
这样的内容@{
Layout = "~/_dialogLayout.cshtml";
}
或者根本没有加载布局页面
@{
Layout = "";
}