2013-06-28 210 views
0

我發現在我的應用程序中,當我重定向到一個新的控制器方法時,該控制器方法的視圖不會停止加載。頁面不停止加載

某些CSS無法完成呈現,且頁面無響應。

作爲測試,我決定儘可能簡化視圖以查看是否加載。令我驚訝的是,它沒有。 所以從下面的代碼我會很驚訝,如果你能看到什麼問題。然而我的問題是如何找出哪裏出了問題?我正在使用ie9和VS 2012,我沒有訪問ANTS。

[HttpPost] 
    public ActionResult FullSearch(BulkDeleteSearchViewModel bulkDeleteSearchViewModel) 
    { 
     SessionObjectsSCD.CompanyType = 
      CacheObjects.CompanyTypes.SingleOrDefault(x => x.TypeId == bulkDeleteSearchViewModel.TypeId); 
     var type = (CompanyTypeEnum)SessionObjectsSCD.CompanyType.TypeId; 
     var strategy = BulkDeleteSearchFactory.Get(type, bulkDeleteSearchViewModel); 
     var bulkDeleteSearchService = new BulkDeleteSearchService(strategy); 
     SessionObjectsSCD.SearchCompanies = bulkDeleteSearchService.SearchCompany(); 
     return this.RedirectToAction(type == CompanyTypeEnum.Subcontractor ? 
      "FullListSubcontractor" : "FullList1"); 
    } 

    [HttpGet] 
    [Authorize(Roles = "SCDTopLevelUser, SCDAdmin, SCDDeveloper")] 
    public ActionResult FullList1(int page = 1) 
    { 
     return this.View(); 
    } 

FullList1視圖看起來像;

@{ 
    ViewBag.Title = "FullList1"; 
} 

<h2>FullList1</h2> 

佈局視圖看起來像;

<!DOCTYPE html> 
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ --> 
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]--> 
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]--> 
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]--> 
<!-- Consider adding a manifest.appcache: h5bp.com/d/Offline --> 
<!--[if gt IE 8]> <html class="no-js" lang="en"> <!--<![endif]--> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8" /> 
     <title>SCD</title> 
     <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" /> 
     <meta name="viewport" content="width=device-width" /> 
     <link rel="SHORTCUT ICON" href="@Url.Content("~/favicon.ico")" /> 

     @Styles.Render(Constants.BundleDataTablesCss) 
     @Styles.Render(Constants.BundleMenuCss) 
     @*@Styles.Render(Constants.BundleBaseCss)*@ 
     @Styles.Render(Constants.BundleDemosCss) 
     @Styles.Render(Constants.BundleMobileCss) 
     @Styles.Render(Constants.BundlePagedListCss) 
     @Styles.Render(Constants.BundleBootstrapCss) 
     @Styles.Render(Constants.BundleSiteCss) 
     @Styles.Render(Constants.BundleSunnyThemeCss) 
     @Scripts.Render(Constants.BundleModernizr) 
    </head> 

    <body> 
     <div class="page"> 
      <input type="hidden" id="Environment" value="@AppSettings.EnvironmentSetting.ToUpper()"/> 

      <header id="mainHeader"> 
       <div id="title"> 
        <div style="float:left;">@Content.Image("MulalleyLogoSmall.jpg", "float:left;padding:10px 10px 0 10px", Url)</div> 
        <div class="head" style="float:left;padding-top:15px;">SubContractor Database (SCD)</div> 
       </div> 

       <div id="logindisplay"> 
        @Html.Partial("_LoginPartial") 
       </div> 

       <nav> 
        @Html.Partial("_MenuItems") 
       </nav> 
      </header> 

      <section class="main-content"> 
       @RenderBody() 
      </section> 
      <footer> 
       <div class="content-wrapper"> 
        <div class="float-left"> 
         &copy; @DateTime.Now.Year -Copyright Mulalley and Company Limited 
        </div> 
        <div class="float-right"> 
         <ul id="social"> 
          <li><a href="http://liveweb.sherrygreengrp.com/SHP/" ><b>SHP</b></a></li> 
          <li><a href="http://liveweb.sherrygreengrp.com/STAS/"><b>STAS</b></a></li> 
         </ul> 
        </div> 
       </div> 
      </footer> 
     </div> 
     @Scripts.Render(Constants.BundleScd) 
     @Scripts.Render(Constants.BundleDataTables) 
     @Scripts.Render(Constants.BundleSubcontractorDetail) 
     @RenderSection("scripts", required: false) 
    </body> 
</html> 
+0

你可以顯示你的佈局?如果你擺脫了控制器操作中的所有噪音,又會發生什麼?既然你簡化了視圖,你可能也不需要這樣做,以便擁有一個repro場景。 –

+0

從提琴手我得到這個消息:HTTP錯誤407代理驗證所需。 「此服務器無法驗證您是否有權訪問請求的文檔 。或者您提供了錯誤的 憑據(例如,錯誤的密碼),或者您的 瀏覽器不知道如何提供 所需的憑據。 – arame3333

+0

我嘗試直接從菜單訪問視圖,並且呈現正常。所以問題在於重定向。 – arame3333

回答

0

原來,這個問題是放了太多的數據在內存引起的。我感到驚訝的是,這個錯誤不能以更明顯的方式被識別,而是吸取了教訓。