這對我來說毫無意義,我希望我能解釋這個權利。ASP.Net呈現兩頁在一起
我有一個基本的jQuery Mobile應用程序使用Asp.Net MVC 4.登錄到應用程序後,如果我點擊左上角的帳戶按鈕,頁面加載,但缺少主題。如果我然後點擊刷新,一切都很正常。
我比較了Chrome的F12窗口中生成的HTML。第二頁當然是正確的。第一頁包含所有相同的HTML,但是,附加 div被放置在主體的開始處。這個div顯示了我的應用程序的主要應用程序頁面。它具有「頁面」的數據角色,並且從視圖中隱藏。我只能假設jQuery Mobile只是將主題應用到它找到的第一個數據角色「頁面」,因此跳過了正確的一個。
爲什麼我會在點擊賬戶和點擊刷新時得到一個不同的頁面?
[編輯] - 兩個人問代碼。我對Asp和jQuery Mobile非常陌生,並認爲這可能是一個簡單的pebkac錯誤,有人會指出。代碼如下:
這裏的Index.cshtml
@model TimeCard.Models.LoginModel
@{
ViewBag.Title = "Your Account";
}
@section Header {
@Html.ActionLink("Back", "Index", "Home", null, new { data_icon = "arrow-l", data_rel = "back", data_iconpos = "left" })
<h1>@ViewBag.Title</h1>
}
<ul data-role="listview" data-inset="true">
<li>@Html.ActionLink("Log off", "LogOff")</li>
</ul>
這裏的共享佈局:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title</title>
<meta name="viewport" content="width=device-width" />
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
@Styles.Render("~/Content/mobileCss", "~/Content/css")
@Scripts.Render("~/bundles/modernizr")
</head>
<body>
<div data-role="page" data-theme="b">
<div data-role="header">
@if (IsSectionDefined("Header")) {
@RenderSection("Header")
}
else {
<h1>@ViewBag.Title</h1>
@Html.Partial("_LoginPartial")
}
</div>
<div data-role="content">
@RenderBody()
</div>
</div>
@Scripts.Render("~/bundles/jquery", "~/bundles/jquerymobile")
@RenderSection("scripts", required: false)
</body>
</html>
末,Here's顯示正確和不正確的輸出,以及呈現的HTML的圖像。兩個代碼片段都會突出顯示「後退」按鈕。
請發佈您的標記和頁面結構。 – Omar 2013-04-09 21:14:24
如果沒有可能與問題相關的代碼,這個問題基本上是無法解析的。也許你可以創建一個小例子,重複這個問題並且將你的問題納入其中? – jadarnel27 2013-04-09 21:25:42