// Declare a boolean variable
for mobile browser
bool IsMobi = false;
if
(Request.Headers["X-Wap-Profile"] != null)
{
if
(Request.Headers["X-Wap-Profile"].ToString().Length > 0)
{
IsMobi = true;
Response.Redirect("index.aspx", true);
}
Else
{
Response.Redirect("web/index.aspx",
true);
}
}
{
//GETS THE CURRENT USER CONTEXT
HttpContext
context = HttpContext.Current;
if (context.Request.Browser.IsMobileDevice)
{
return true;
}
//THEN TRY CHECKING FOR THE HTTP_X_WAP_PROFILE
HEADER
if (context.Request.ServerVariables["HTTP_X_WAP_PROFILE"] !=
null)
{
return true;
}
//THEN TRY CHECKING THAT
HTTP_ACCEPT EXISTS AND CONTAINS WAP
if
(context.Request.ServerVariables["HTTP_ACCEPT"] != null &&
context.Request.ServerVariables["HTTP_ACCEPT"].ToLower().Contains("wap"))
{
return true;
}
//AND FINALLY CHECK THE
HTTP_USER_AGENT
//HEADER VARIABLE FOR ANY ONE OF THE FOLLOWING
if
(context.Request.ServerVariables["HTTP_USER_AGENT"] != null)
{
//Create a list of all mobile types
string[] mobiles =
new[]
{
"midp", "j2me", "avant",
"docomo",
"novarra", "palmos", "palmsource",
"240x320", "opwv", "chtml",
"pda", "windows ce", "mmp/",
"blackberry", "mib/",
"symbian",
"wireless", "nokia", "hand",
"mobi",
"phone", "cdm", "up.b", "audio",
"SIE-", "SEC-", "samsung", "HTC",
"mot-", "mitsu", "sagem", "sony"
, "alcatel", "lg", "eric", "vx",
"NEC", "philips",
"mmm", "xx",
"panasonic", "sharp", "wap",
"sch",
"rover", "pocket", "benq", "java",
"pt", "pg", "vox", "amoi",
"bird", "compal", "kg", "voda",
"sany", "kdd", "dbt",
"sendo",
"sgh", "gradi", "jb", "dddi",
"moto", "iphone"
};
//and check if the header contains that
text
foreach (string s in mobiles)
{
if
(context.Request.ServerVariables["HTTP_USER_AGENT"].
ToLower().Contains(s.ToLower()))
{
return
true;
}
}
}
}
Detecting a mobile browser in ASP.NET
最新推荐文章于 2025-09-09 22:16:10 发布

// If request header can find the
X-Wap-Profile, then it is a mobile browser
或者
public static bool
isMobileBrowser()
//FIRST TRY BUILT IN ASP.NT
CHECK
//Loop through each item in
the list created above
return false;