移动设备上的Response.Redirect错误

时间:2011-10-12 21:46:39

标签: c# .net asp.net mobile

在我的主登录屏幕上,我正在检查浏览器是否是移动浏览器。如果浏览器是移动浏览器,我将用户重定向到移动网站登录屏幕。这在我的Android设备上运行正常但在我的Iphone上运行不正常。我去尝试在重定向后放入Response.End(),但这导致我的Android设备开始收到错误消息。我在两台设备上收到的消息是,有许多服务器重定向。任何提示?

编辑:

if (Request.Headers["User-Agent"] != null && (Request.Browser["IsMobileDevice"] == "true" 
            || Request.UserAgent.ToUpper().Contains("MIDP") || Request.UserAgent.ToUpper().Contains("CLDC") 
            || Request.UserAgent.ToLower().Contains("iphone") || Request.UserAgent.ToLower().Contains("avant") 
            || Request.UserAgent.ToLower().Contains("nokia") || Request.UserAgent.ToLower().Contains("pda") 
            || Request.UserAgent.ToLower().Contains("moto") || Request.UserAgent.ToLower().Contains("windows ce") 
            || Request.UserAgent.ToLower().Contains("hand") || Request.UserAgent.ToLower().Contains("mobi") 
            || Request.UserAgent.ToUpper().Contains("HTC") || Request.UserAgent.ToLower().Contains("sony") 
            || Request.UserAgent.ToLower().Contains("panasonic") || Request.UserAgent.ToLower().Contains("blackberry") 
            || Request.UserAgent.ToLower().Contains("240x320") || Request.UserAgent.ToLower().Contains("voda"))
            || Request.UserAgent.ToLower().Contains("android") || Request.UserAgent.ToLower().Contains("ipad")) 
        {
            Response.Redirect("~/Mobile/Login.aspx");
        }

1 个答案:

答案 0 :(得分:0)

检查服务器上的事件查看器日志。可能还想尝试做Response.Redirect(urlString,false);

的Response.Redirect(urlString);在里面做一个Response.End()并导致线程中止问题。这是预期的,并不是什么大不了的事,但它将作为一个例外。