3

誰かが私にモバイルブラウザを確認してモバイルサイトにリダイレクトするのに適した場所を提案できますか?

DetectMobileBrowsersモバイルブラウザの検証に使用することを考えています。

そして、私はこれをApplication_Startまたはで行うことを考えていSession_Startます。同じことをするのに良い場所を教えてください。

これは私のSession_Startブロックです

Protected Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
    ' Fires when the session is started
    'Dim request As HttpRequest = HttpContext.Current.Request
    'If request.Browser.IsMobileDevice Then
    '    Response.Redirect("http://localhost:26270/Default.aspx")
    'End If
    Response.Redirect("http://google.com")
End Sub

ありがとう

4

3 に答える 3

4

使用する代わりにResponse.Redirect("http://m.yoursite.com")、モバイル バージョンに一時的にリダイレクトする 2 行を使用することをお勧めします。以下を使用することをお勧めします。

Response.Status="302 Moved Temporarily"
Response.AddHeader "Location","http://m.yoursite.com"
于 2012-10-27T17:59:01.207 に答える
3

Session_Startユーザーが初めてサイトにアクセスしたときにトリガーと呼ばれるセッションが確立されると、デバイスは同じままになるため、おそらくそれを入れておく必要があります。

グーグルでそれについて読んでください..

参考までApplication_Startに、アプリケーション ドメインの存続​​期間中に 1 回呼び出されSession_Start、新しいセッションが作成されるたびにイベントが発生します。

アプリケーションのライフサイクルについて読むと、これらすべてのイベントをよりよく理解するのに役立ちます。

于 2012-09-21T18:45:15.003 に答える
2

Application_BeginRequest を検討してください。要求された各静的ファイルのチェックを実行しないように、要求 URL が要求しているページであることを確認してください。

void Application_BeginRequest(object sender, EventArgs e)
{
   var u = Request.ServerVariables("HTTP_USER_AGENT");
   var uri =  Request.Url.AbsoluteUri.ToLower();
   if (url.Contains(".aspx"))
   {
      //put DetectMobileBrowsersCode Here

      if (b.IsMatch(u) || v.IsMatch(Left(u, 4)))
      {
          Response.Redirect("http://m.yoursite.com");
      } 
   }   
}
于 2012-09-21T19:38:00.400 に答える