0
在MVC4中,我試圖展示一個適合最終用戶訪問它的環境的View
。我通過訪問user agent
字符串並返回相關View
來實現此目的。在沒有代碼複製的情況下爲同一頁面使用多個視圖
控制器:
string userAgent = Request.UserAgent.ToLower();
if (userAgent.Contains("ipad"))
{
viewPath = "~/Views/Home/Index.Ipad.cshtml";
}
else if (userAgent.Contains("android"))
{
viewPath = "~/Views/Home/Index.Android.cshtml";
}
else
{
viewPath = "~/Views/Home/Index.cshtml";
}
而Android和iPad Views
不會有重大分歧,meerly小的調整,以考慮呈現差異。主要的Index.cshtml
將包含桌面屏幕允許的更多數據。
這將導致大量的代碼複製。一個更改需要複製三個Views
。有沒有更容易/更好的方法來做到這一點?