2016-12-16 236 views
1

請,我需要一個與asp.net核心mvc應用程序嘮叨問題的幫助。asp.net核心mvc顯示空白頁面

該應用程序只顯示空白主頁 - 根本沒有內容,包括html標記。即使在瀏覽器上直接輸入url也不會調用任何控制器,並且不會顯示錯誤。

我已經創建了幾次新的應用程序,結果相同。另外,我在Startup類的Configure方法中添加了下面的語句無濟於事。

app.UseDefaultFiles(); 
app.UseStaticFiles(); 
app.UseIdentity(); 

任何指導,以解決這個謎,將不勝感激。

謝謝。

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { 
     loggerFactory.AddConsole(Configuration.GetSection("Logging")); 
     loggerFactory.AddDebug(); 

     //add NLog to ASP.NET Core 
     //loggerFactory.AddNLog(); 

     ////add NLog.Web 
     //app.AddNLogWeb(); 

     //needed for non-NETSTANDARD platforms: configure nlog.config in your project root 
     //env.ConfigureNLog("nlog.config"); 

     if (env.IsDevelopment()) { 
      app.UseDeveloperExceptionPage(); 
      app.UseDatabaseErrorPage(); 
      app.UseBrowserLink(); 
     } else { 
      app.UseExceptionHandler("/Home/Error"); 
     } 

     app.UseDefaultFiles(); 
     app.UseStaticFiles(); 
     app.UseIdentity(); 

     // Add external authentication middleware below. To configure them please see http://go.microsoft.com/fwlink/?LinkID=532715 
     app.UseMvcWithDefaultRoute(); 
     //app.UseMvc(routes => { 
     // routes.MapRoute(
     //  name: "default", 
     //  template: "{controller=Home}/{action=Index}/{id?}"); 
     //}); 

     // For more details on creating database during deployment see http://go.microsoft.com/fwlink/?LinkID=615859 
     try { 
      using (var serviceScope = app.ApplicationServices.GetRequiredService<IServiceScopeFactory>() 
       .CreateScope()) { 
       serviceScope.ServiceProvider.GetService<ChurBaseContext>() 
        .Database.Migrate(); 

       var userManager = serviceScope.ServiceProvider.GetService<UserManager<ChurchMember>>(); 
       var roleManager = serviceScope.ServiceProvider.GetService<RoleManager<IdentityRole>>(); 

       serviceScope.ServiceProvider.GetService<ChurBaseContext>().EnsureSeedData(userManager, roleManager); 
      } 
     } catch { } 
    } 

回答

0
app.UseMvcWithDefaultRoute(); //in startup.cs 

app.UseMvc(routes => 
{ 
    routes.MapRoute(
    name: "default", 
    template: "{controller}/{action}/{id?}", 
    defaults: new { controller = "Home", action = "Index" }); 
}); 
+0

我已經提到了一切,但仍然遇到同樣的問題。不知道我做錯了什麼,仍然。謝謝。 – Joset

0

這可能發生,因爲,你還沒有使用MVC到執行流水線。

在啓動類的配置方法,你需要添加像這個 -

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 
     { 
      ...... 

      app.UseStaticFiles(); 

      app.UseMvc(routes => 
      { 
       routes.MapRoute(
        name: "default", 
        template: "{controller=Home}/{action=Index}/{id?}"); 
      }); 
     } 

或添加UseMvcWithDefaultRoute喜歡這個 -

app.UseMvcWithDefaultRoute(); 

這基本上增加了MVC的IApplicationBuilder要求執行流水線。

看看這是否有幫助。

+0

此外,檢查您的瀏覽器控制檯,你會看到像這樣的錯誤 - '加載資源失敗:服務器響應狀態404(未找到)' – Sanket

+0

感謝您的快速響應。我按照說明設置了一切,但沒有區別。瀏覽器控制檯也沒有錯誤。 – Joset

+0

你能分享完整的啓動配置方法嗎? – Sanket