2012-05-15 82 views
0

我正在使用JQuerymobile,我的一個鏈接有data-rel =「dialog」屬性,它在對話框中啓動我的頁面。但是我注意到,啓動的頁面有主頁的導航欄和標題。jquerymobile和asp.net mvc 3在彈出對話框中有navbar

任何想法爲什麼會發生這種情況?

我_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> 

SO我得到了A bout.cshtml顯示爲對話框彈出式窗口,但也顯示了標題和導航欄(我不希望顯示此圖標)。

回答

1

默認爲每個頁面加載_layout.cshtml。要覆蓋此行爲試圖inlcude這樣的事情你about.cshtml:

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

,或者沒有佈局頁面加載在所有

@{ 
    Layout = ""; 
} 
+0

嗨,馬克,可惜設置佈局=「」給我一個對話框與未定義的詞(只是解決它)。 –

+0

好吧,讓它工作。感謝上面的代碼。我試圖使所有這些工作與mvc 2代碼,並沒有意識到佈局。我在我的about.cshtml表單和所有作品中添加了data-role =「header」。再次感謝。 –