0

我正在使用 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 显示为对话框弹出窗口,但其中也显示了标题和导航栏(我不希望显示此内容)。

4

1 回答 1

1

_layout.cshtml 默认为每个视图页加载。要覆盖此行为,请尝试在 about.cshtml 中包含类似的内容:

@{
     Layout = "~/_dialogLayout.cshtml";
 }

或者根本没有加载布局页面

@{
     Layout = "";
 }
于 2012-05-15T15:32:26.593 回答