asp.net前后端如何交互 (asp.net中gridview的第二列添加样式)

老板让写一个客户反馈页面,我用asp.net写了一个页面收集这些反馈信息,现在的问题是有的人是用PC机写反馈,有的是用手机写反馈,用PC机写的无所谓,但是同一个页面用手机的人感受十分不好,因为字什么的太小了。

比如这个手机端的样子:跟屏幕宽度一比,字小的令人发指。

我已经想到客户在看到它时嘴形变化表达的意思了。

asp.net控制样式的各种方法,asp.net中gridview的第二列添加样式

而就为了这么个事难道我弄个APP?那我真是疯了,所以我就想,我应该根据用户端是PC还是手机来套上不同的样式,是手机浏览时,我让这些控件大一点,这样就可以了。

最终运行效果:

PC端:

asp.net控制样式的各种方法,asp.net中gridview的第二列添加样式

手机端:用户的界面看起来字体和控件大小都合适

asp.net控制样式的各种方法,asp.net中gridview的第二列添加样式

实现代码如下:

先将判断客户端是手机端还是PC端的JS写在页面的<head>中:

主要看下,pnorce函数中的sj1.css和pc1.css这两个名字,因为后面要用到,其它照抄就行

<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>

    <script>
        //判断客户端种
        function pnorpc() {
            //true为PC端,false为手机端
            var flag = IsPC(); 
            if(!flag)
            {               
                //如果是手机端,加载sj1.css样式表
                loadStyles("/Resourse/sj1.css");;
            }
            else
            {
                //如果是PC端,加载pc1.css样式表
                loadStyles("/Resourse/pc1.css");
            }
        }
        //判断客户端是不是PC
        function IsPC() {
            var userAgentInfo = navigator.userAgent;
            var Agents = ["Android", "iPhone",
                        "SymbianOS", "Windows Phone",
                        "iPad", "iPod"];
            var flag = true;
            for (var v = 0; v < Agents.length; v++) {
                if (userAgentInfo.indexOf(Agents[v]) > 0) {
                    flag = false;
                    break;
                }
            }
            return flag;
        }
        //动态加载不同的CSS文件到〈head〉标签中。
        function loadStyles(url) {
            var link = document.createElement("link");
            link.type = "text/css";
            link.rel = "stylesheet";
            link.href = url;
            document.getElementsByTagName("head")[0].appendChild(link);
        }
    </script>
</head>

在body一加载时,就开始判断并根据情况加载不同的css文件:

<body onload="pnorpc();">

PC1.css代码,zoom就是放大倍数,PC端我写的2

body {
    zoom: 2;
    -moz-transform: scale(1);
    -moz-transform-origin: 0 0;
}

sj1.css代码,手机端时我写的4

body {
    zoom: 4;
    -moz-transform: scale(1);
    -moz-transform-origin: 0 0;
}

实际上就是根据不同客户端放大不同倍数。

这样客户看起来就舒服多了,不用再放大了填写,