簡體   English   中英

如何在MVC4中使用所有查詢字符串和哈希值重定向移動設備?

[英]How do I redirect a mobile device with all query strings and hash in MVC4?

我在MVC4中注意到,有一個名為Request.Browser.IsMobileDevice的內置方法。 如何使用此方法檢查請求是否為移動設備,然后重定向到控制器和/ mobile / index的操作? 我想保留所有查詢字符串和URL中的位置哈希。 有內置的方法可以做到這一點嗎?

通常,您不希望重定向到移動設備的其他控制器和操作,因為移動設備只需要使用相同模型的不同表示(您就不想復制控制器邏輯)。 如果您創建擴展名為.Mobile.cshtml的視圖(用於C#Razor視圖),則MVC4將按照慣例將此視圖用於移動設備。

例如,如果您的Home文件夾中有此視圖

Index.cshtml

通過將此視圖添加到您的Home文件夾

Index.Mobile.cshtml

MVC4將在移動設備上呈現Index.Mobile.cshtml ,在非移動設備上呈現Index.cshtml

就是說,有時可能需要做一些針對移動設備的特定操作。 例如,如果要為移動設備使用其他_Layout.cshtml ,則可以將以下內容放在_ViewStart.cshtml文件中

@{
    if(Request.Browser.IsMobileDevice)
    {
        Layout = "~/Views/Shared/_Layout.Mobile.cshtml";
    }
    else
    {
        Layout = "~/Views/Shared/_Layout.cshtml";
    }
}

暫無
暫無

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

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