解决dropdownlist postback 在 iphone UIwebview 失效的问题

原因: IPhone UIWebView 的 用户代理 User Agent 在ASP.NET 4.0环境下是不识别的;所以ASP.NET提供了一个默认的,低级的不包括javascript的页面版本

解决方法:  在aspx页面顶端 @Page 指令中加入属性 ClientTarget="uplevel" 

ClientTarget属性解释: Web 服务器计算机中的配置文件 (Web.config) 定义了四个默认别名,可以用作常用用户代理字符串的缩写。这些默认别名为:ie5(允许为 Microsoft Internet Explorer 5.5 版浏览器自定义页面)、ie4(允许为 Internet Explorer 4.0 版浏览器自定义页面)、uplevel(允许为 Internet Explorer 4.0 及更高版本自定义页面)以及 downlevel(允许为 Internet Explorer 4.0 之前的浏览器自定义页面)。

 

 

ClientTarget获取或设置一个值,该值使您得以重写对浏览器功能的自动检测,并指定针对特定的浏览器客户端页的呈现方式

MSND 中ClientTarget的解释:http://msdn.microsoft.com/zh-cn/library/system.web.ui.page.clienttarget(VS.80).aspx

在stackoverflow 原问题:http://stackoverflow.com/questions/7275695/uiwebview-and-iphone-content-does-not-postback-asp-net-browser-capability-issue

User-Agent 简介:在http协议里,头信息中有一个User-Agent,它的作用是告诉服务器,用户客户端是什么浏览器,以及操作系统的信息的。在某些特殊的情况下,服务器根据浏览器的不同类型,输出不同的内容。(获取asp.net 4.0 控件的 postback 就会根据浏览器的user-agent输出不同的内容)

 

posted @ 2014-02-25 18:11  mushishi  阅读(457)  评论(0编辑  收藏  举报