2013-04-09 43 views
0

這對我來說毫無意義,我希望我能解釋這個權利。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的圖像。兩個代碼片段都會突出顯示「後退」按鈕。

+1

請發佈您的標記和頁面結構。 – Omar 2013-04-09 21:14:24

+1

如果沒有可能與問題相關的代碼,這個問題基本上是無法解析的。也許你可以創建一個小例子,重複這個問題並且將你的問題納入其中? – jadarnel27 2013-04-09 21:25:42

回答

1

所以修復是添加data_ajax =「假」的HTML.BeginForm()方法被調用在登錄屏幕,以及以操作鏈接的帳戶頁面。雖然這是'答案',但它讓我比以往更加困惑。任何人都可以解釋爲什麼這解決了我的問題?我是否需要將此添加到所有操作鏈接?我很樂意接受某人的回答,他可以告訴我這是爲什麼。

+0

因爲沒有更多的評論/答案,我正在關閉這個。 – Paul 2013-04-15 19:55:34