<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      返璞歸真 asp.net mvc (12) - asp.net mvc 4.0 新特性之移動特性

      [索引頁]
      [源碼下載]


      返璞歸真 asp.net mvc (12) - asp.net mvc 4.0 新特性之移動特性



      作者:webabcd


      介紹
      asp.net mvc 之 asp.net mvc 4.0 新特性之移動特性

      • 為不同的客戶端提供不同的視圖
      • 手動重寫 UserAgent,從而強制使用對應的視圖



      示例
      1、演示如何為不同的客戶端提供不同的視圖
      Global.asax.cs

      /*
       * 為了更好地支持移動設備,mvc 4.0 帶來了一些新的特性
       * 
       * 本 demo 演示如何方便地為不同客戶端提供不同的視圖
       */
      
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Web;
      using System.Web.Http;
      using System.Web.Mvc;
      using System.Web.Optimization;
      using System.Web.Routing;
      using System.Web.WebPages;
      
      namespace MobileFeature
      {
          public class MvcApplication : System.Web.HttpApplication
          {
              protected void Application_Start()
              {
                  // 為 windows phone 客戶端新增加一個名為 wp 的顯示模式
                  DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("wp")
                  {
                      // 設置判斷 windows phone 客戶端的條件
                      ContextCondition = (context => context.GetOverriddenUserAgent().IndexOf
                          ("Windows Phone", StringComparison.InvariantCultureIgnoreCase) >= 0)
                  });
      
                  /*
                   * 顯示模式可以方便地為不同客戶端提供不同視圖
                   * 默認 DisplayModeProvider.Instance.Modes 有兩種顯示模式,分別是 Mobile 和 ""
                   * 
                   * 以 Home/Index.cshtml 為例
                   * 1、windows phone 客戶端訪問會使用 Index.wp.cshtml 視圖
                   * 2、其他移動客戶端訪問會使用 Index.Mobile.cshtml 視圖
                   * 3、不符合以上兩個條件的客戶端訪問會使用 Index.cshtml 視圖
                   * 注:找不到對應的視圖時,會默認使用 Index.cshtml 視圖
                   */
      
      
                  AreaRegistration.RegisterAllAreas();
      
                  WebApiConfig.Register(GlobalConfiguration.Configuration);
                  FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
                  RouteConfig.RegisterRoutes(RouteTable.Routes);
                  BundleConfig.RegisterBundles(BundleTable.Bundles);
              }
          }
      }

      Index.cshtml

      @{
          ViewBag.Title = "主頁";
      }
      
      <h2>@ViewBag.Message</h2>
      <p>
          若要了解有關 ASP.NET MVC 的詳細信息,請訪問 <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a></p>
      <h1>為非移動設備提供的頁面</h1>
      <ul data-role="listview" data-inset="true">
          <li data-role="list-divider">導航</li>
          <li>@Html.ActionLink("關于", "About", "Home")</li>
          <li>@Html.ActionLink("聯系方式", "Contact", "Home")</li>
      </ul>
      <script type="text/javascript">
          alert("是否是移動設備:@Request.Browser.IsMobileDevice.ToString()");
      </script>

      Index.wp.cshtml

      @{
          ViewBag.Title = "主頁";
      }
      
      <h2>@ViewBag.Message</h2>
      <p>
          若要了解有關 ASP.NET MVC 的詳細信息,請訪問 <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a></p>
      <h1>為 windows phone 提供的頁面</h1>
      <ul data-role="listview" data-inset="true">
          <li data-role="list-divider">導航</li>
          <li>@Html.ActionLink("關于", "About", "Home")</li>
          <li>@Html.ActionLink("聯系方式", "Contact", "Home")</li>
      </ul>
      <script type="text/javascript">
          alert("是否是移動設備:@Request.Browser.IsMobileDevice.ToString()");
      </script>

      Index.Mobile.cshtml

      @{
          ViewBag.Title = "主頁";
      }
      
      <h2>@ViewBag.Message</h2>
      <p>
          若要了解有關 ASP.NET MVC 的詳細信息,請訪問 <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a></p>
      <h1>為非 windows phone 的移動設備提供的頁面</h1>
      <ul data-role="listview" data-inset="true">
          <li data-role="list-divider">導航</li>
          <li>@Html.ActionLink("關于", "About", "Home")</li>
          <li>@Html.ActionLink("聯系方式", "Contact", "Home")</li>
      </ul>
      <script type="text/javascript">
          alert("是否是移動設備:@Request.Browser.IsMobileDevice.ToString()");
      </script>


      2、演示如何手動重寫 UserAgent,從而強制使用對應的視圖
      ViewSwitcherController.cs

      /*
       * 演示如何手動重寫 UserAgent,從而強制使用對應的視圖
       */
      
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Net;
      using System.Net.Http;
      using System.Web.Http;
      using System.Web.Mvc;
      using System.Web.WebPages;
      
      namespace MobileFeature.Controllers
      {
          public class ViewSwitcherController : Controller
          {
              public ActionResult SwitchView(bool? mobile)
              {
                  mobile = mobile ?? false;
      
                  // 重寫 UserAgent
                  HttpContext.SetOverriddenBrowser(mobile.Value ? BrowserOverride.Mobile : BrowserOverride.Desktop);
                  // HttpContext.SetOverriddenBrowser(string userAgent);
      
                  return View();
              }
          }
      }

      SwitchView.cshtml

      @{
          Layout = null;
      }
      
      <!DOCTYPE html>
      
      <html>
      <head>
          <meta name="viewport" content="width=device-width" />
          <title>非移動設備</title>
      </head>
      <body>
          <h2>非移動設備</h2>
      
          <!--判斷重寫后的 UserAgent-->
      
          @if (ViewContext.HttpContext.GetOverriddenBrowser().IsMobileDevice)
          {
              // ViewContext.HttpContext.GetOverriddenUserAgent()
              
              @: Displaying mobile view
              @Html.ActionLink("Desktop view", "SwitchView", "ViewSwitcher", new { mobile = false }, null)
          }
          else
          {
              @: Displaying desktop view
              @Html.ActionLink("Mobile view", "SwitchView", "ViewSwitcher", new { mobile = true }, null)
          }
      </body>
      </html>

      SwitchView.Mobile.cshtml

      @{
          Layout = null;
      }
      
      <!DOCTYPE html>
      
      <html>
      <head>
          <meta name="viewport" content="width=device-width" />
          <title>移動設備</title>
      </head>
      <body>
          <h2>移動設備</h2>
      
          <!--判斷重寫后的 UserAgent-->
      
          @if (ViewContext.HttpContext.GetOverriddenBrowser().IsMobileDevice)
          {
              // ViewContext.HttpContext.GetOverriddenUserAgent()
              
              @: Displaying mobile view
              @Html.ActionLink("Desktop view", "SwitchView", "ViewSwitcher", new { mobile = false }, null)
          }
          else
          {
              @: Displaying desktop view
              @Html.ActionLink("Mobile view", "SwitchView", "ViewSwitcher", new { mobile = true }, null)
          }
      </body>
      </html>



      OK
      [源碼下載]

      posted @ 2012-10-25 08:23  webabcd  閱讀(4671)  評論(2)    收藏  舉報
      主站蜘蛛池模板: 国产精品中文字幕av| 久久久久人妻一区二区三区| 1024你懂的国产精品| 亚洲中文字幕精品一区二区三区| 亚洲色在线V中文字幕| 精品无码av无码专区| 少妇精品视频一码二码三| 日韩一区二区三区水蜜桃| 亚洲男人的天堂在线观看| 国产乱老熟女乱老熟女视频| 亚洲色一色噜一噜噜噜| 蜜桃麻豆www久久囤产精品| 99精品久久免费精品久久| 美女自卫慰黄网站| 丁香五月亚洲综合在线| 黑人精品一区二区三区不| 日本视频一区二区三区1| 人妻少妇久久中文字幕| 亚洲av无码精品蜜桃| 亚洲人成网站在线观看播放不卡 | 吉川爱美一区二区三区视频| 成人亚洲av免费在线| 久久精品欧美日韩精品| 中文有码字幕日本第一页| 岛国中文字幕一区二区| 亚洲精品久久久久成人2007| 国产熟女一区二区三区四区| 国产中文字幕日韩精品| 制服丝袜中文字幕在线| 九九热在线视频免费播放| 国产精品久久中文字幕| 国产乱码精品一区二区三区中文| 亚洲色婷婷一区二区三区| 最新国产AV最新国产在钱| 桓仁| 激情五月日韩中文字幕| 亚洲AV无码专区亚洲AV桃 | 亚洲综合在线日韩av| 亚洲高清免费在线观看| 日韩精品一区二区蜜臀av| 国产欧美日韩精品第二区|