簡體   English   中英

ASP.NET MVC web 應用程序加載錯誤的共享布局

[英]ASP.NET MVC web application loading the wrong shared layout

我正在創建一個 ASP.NET MVC web 應用程序,該應用程序基於具有 2 個共享布局的 Visual Studio 模板,1 個用於后台 - _Layout.cshtml - 另一個用於移動_Layout.Mobile.cshtml應用程序

問題是當我在 Chrome 中加載后台主頁時,它會加載_Layout.cshtml文件,但是當我激活移動設備模擬器時,它會加載_Layout.Mobile.cshtml文件。

在移動設備上也會發生同樣的情況,如果我將 go 轉到主頁 controller 的默認索引視圖,它會加載_Layout.Mobile.cshtml文件。

我嘗試調試,但找不到系統更改為_Layout.Mobile.cshtml的位置。

我發現避免這種情況的唯一方法是將_Layout.Mobile.cshtml重命名為__Layout.Mobile.cshtml ,然后正確加載_Layout.cshtml

我真的不知道從哪里開始尋找問題。

如果Request.Browser.IsMobileDevice = true將自動使用任何帶有.Mobile 擴展的視圖

發現於: https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions/aspnet-mvc-4-mobile-features

ASP.NET MVC 4 中的一個重要新功能是一種簡單的機制,它允許您覆蓋一般移動瀏覽器、單個移動瀏覽器或任何特定瀏覽器的任何視圖(包括布局和部分視圖)。 要提供特定於移動設備的視圖,您可以復制視圖文件並將.Mobile 添加到文件名中。 例如,要創建移動索引視圖,請將 Views\Home\Index.cshtml 復制到 Views\Home\Index.Mobile.cshtml。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM