[英]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.