首页 新闻 会员 周边

asp.net 移动开发强制输出wml后,在IE里输出wml,但在手机里输出html

0
悬赏园豆:100 [已关闭问题]

asp.net 移动开发强制输出wml后,在IE里输出wml,但在手机里输出html。

 

请遇到过这个问题的朋友告知解决方法。

 

谢谢了

问题补充: 我是在在web.config 添加下面内容<system.web>下 <browserCaps> <result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> <use var="HTTP_USER_AGENT"/> preferredRenderingType = "wml11" preferredRenderingMime = "text/vnd.wap.wml" preferredImageMime = "image/vnd.wap.wbmp" </browserCaps> 进行强制wml输出的。 在IE里输出的是wml,而在手机上输出的时html。 我的目的是在手机上也输出wml,因为页面上有wml元素,由于输出的是html,这些元素就无效了。 请各位教我如何实现。谢谢!
hzm0708的主页 hzm0708 | 初学一级 | 园豆:98
提问于:2010-05-07 10:50
< >
分享
其他回答(1)
0

强制输出wml不知道你是怎么配置的,修改一下参数设置试试。

不行的话可能一些新版的browser .net检测错了吧,我想这个自己控制就可一个,使用httpmodule处理所有的请求,通过自己的方法检测客户端而有针对的输出。添加不同的http head 和html标签用正则替换成wml也挺容易。

 

 

代码
/// <summary>
/// 判断手机用户
/// </summary>
public static bool IsMobile
{
get
{
HttpContext context
= HttpContext.Current;
if (context != null)
{
HttpRequest request
= context.Request;
if (request.Browser.IsMobileDevice)
return true;

if (!string.IsNullOrEmpty(request.UserAgent) && MOBILE_REGEX.IsMatch(request.UserAgent))
return true;
}

return false;
}
}

 

正则:(nokia|sonyericsson|blackberry|samsung|sec-|windows ce|motorola|mot-|up.b)

LittlePeng | 园豆:3445 (老鸟四级) | 2010-05-07 12:19
0

顶一下

zwliu | 园豆:205 (菜鸟二级) | 2010-05-07 13:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册