JQuery与asp.net结合,区分手机浏览器与PC浏览器显示不同信息

3 篇文章 0 订阅

此代码是为了解决手机浏览器显示Header感觉多余,因为浏览器的标题已经有显示了;而如果PC浏览器不显示Header的话又感觉少了东西,因为PC浏览器的标题没有Header明显,不显示Header不美观。

代码特别简单,所以就不详解了。有疑问我再补充,欢迎大家提问!

asp.net代码

        static public List<String> MobileNames = new List<String> { "iphone", "android", "mobile", "ucweb", "opera mini",
                                                                    "samsung", "htc", "lg", "sonyericsson", "nokia", "mot",
                                                                    "blackberry", "j2me" };


        protected void Page_Load(object sender, EventArgs e)
        {
            String clientType = HttpContext.Current.Request.UserAgent.ToLower();
            Boolean isPCBrowser = true;
            foreach (String mobile in MobileNames)
            {
                if (clientType.Contains(mobile))
                {
                    isPCBrowser = false;
                    break;
                }
            }
            pnlHeader.Visible = isPCBrowser;
        }

因为浏览器可以随意设置 Request.UserAgent,所以没有绝对计算正确的办法判断浏览器是手机还是PC,此方便已在多种浏览器上测试95%正确。

JQuery代码

<body>
    <form id="form1" runat="server">
    <div data-role="page" id="page">

        <asp:Panel ID="pnlHeader" runat="server">
            <div data-role="header" data-theme="b">
		        <h2>新闻主页</h2>
	        </div>
        </asp:Panel>
        <div data-role="content" class="lineHeight2">
            <asp:BulletedList ID="listNews" runat="server" DisplayMode="HyperLink">
            </asp:BulletedList>
        </div>
        
	    <div data-role="footer" data-theme="d">
		    <h4>餐饮咨询</h4>
	    </div>
    </div>
    </form>
</body>
将JQuery的header放入asp.net的Panel中,这样在代码中就可以直接设置panel是否显示了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值