有人會疑問,為什麼他能識别.mobile的字尾卻不能識别例如:.mac .dnt 等等字尾呢?這些又是放在哪裡的呢?
mobile 這個字尾其實是存放在:DisplayModeProvider.Instance.Modes 裡面的,我們監視一下,發現裡面就一個mobile,還有一個是預設的

可以猜想,運作的時候是從上往下比對的,“”的是通用比對,那麼我們加入一個自定義的字尾看看==>(可以思考一下,為什麼用 insert 不用 add)
1
2
3
4
5
<code>//添加一個自定義字尾</code>
<code>DisplayModeProvider.Instance.Modes.Insert(0, </code><code>new</code> <code>DefaultDisplayMode(</code><code>"dnt"</code><code>)</code>
<code>{</code>
<code> </code><code>ContextCondition = (Context) => Context.Request.UserAgent.Contains(</code><code>"dnt"</code><code>)</code>
<code>});</code>
可能你不是很了解 DefaultDisplayMode,看看反編譯吧----構造函數為suffix指派(字尾)
添加一個自定義的字尾視圖
打開谷歌浏覽器,設定一下User-Agent Switcher的浏覽模式
附錄:
DisplayModeProvider:
View Code
DefaultDisplayMode:
<a href="http://www.asp.net/mvc/overview/older-versions/aspnet-mvc-4-mobile-features" target="_blank">http://www.asp.net/mvc/overview/older-versions/aspnet-mvc-4-mobile-features</a>
<a href="http://stackoverflow.com/questions/9354188/asp-net-mvc-4-mobile-display-modes-stop-working" target="_blank">http://stackoverflow.com/questions/9354188/asp-net-mvc-4-mobile-display-modes-stop-working</a>
本文轉自毒逆天部落格園部落格,原文連結:http://www.cnblogs.com/dunitian/p/5218140.html,如需轉載請自行聯系原作者