首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 网页制作-> CSS教程
探究客户端浏览器分辨率的自适应问题(1)-.NET教程,评论及其它
作者:网友供稿 点击:361
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
今天看到孟子老大的一篇e文,关于服务器端如何得知客户端浏览器分辨率的文章,经简化改为如下:
<%@ page language="c#" enableviewstate = "false" debug="true" %>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en" >
<html>
<head>
<title>检测客户端显示器分辨率</title>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<meta content="检测客户端分辨率" name="description">
<script language="c#" runat="server">
void page_load(object sender, system.eventargs e)
{
// 在此处放置用户代码以初始化页面
system.web.ui.webcontrols.button button1 = new system.web.ui.webcontrols.button();
if(!ispostback)
{
system.web.ui.htmlcontrols.htmlinputhidden btnw = new system.web.ui.htmlcontrols.htmlinputhidden();
system.web.ui.htmlcontrols.htmlinputhidden btnh = new system.web.ui.htmlcontrols.htmlinputhidden();
button1.id = "button1";
btnw.name = "widthpixel";
btnw.id = "widthpixel";
btnh.name = "heightpixel";
btnh.id = "heightpixel";
this.findcontrol("browserpeek").controls.add(btnw);
this.findcontrol("browserpeek").controls.add(btnh);
this.findcontrol("browserpeek").controls.add(button1);
string scriptstring = "";
scriptstring += "document.all.browserpeek.widthpixel.value=window.screen.width;\r\n";
scriptstring += "document.all.browserpeek.heightpixel.value=window.screen.height;\r\n";
this.registeronsubmitstatement("meng", scriptstring);
this.mybody.attributes.add("onload", "document.all."+button1.clientid+".click();");
}
else
{
this.mybody.attributes.remove("onload");
if(this.findcontrol("browserpeek").controls.contains(button1))
{
this.findcontrol("browserpeek").controls.remove(button1);
button1.dispose();
}
system.text.stringbuilder strlabel = new system.text.stringbuilder();
httpbrowsercapabilities bc = request.browser;
strlabel.append("您的浏览器的分辨率为:");
strlabel.append(request.form["widthpixel"]);
strlabel.append("×");
strlabel.append(request.form["heightpixel"]);
label1.text = strlabel.tostring();
}
}
</script>
</head>
<body id="mybody" runat="server">
<form id="browserpeek" runat="server" name="browserpeek">
<asp:label id="label1" runat="server"></asp:label>
</form>
</body>
</html>

其原理是:当客户端打开网页时,自动点击“模拟按钮”,根据客户端浏览器的分辨率反馈给服务器后再由服务器返回。

现在我的目的是想将此脚本放在global.asax的:
  protected void session_start(object sender, eventargs e)
  {
//就是这里了
}
让每个访问者一旦进入网站,首先检测一个session["screenwidthpixel"]和session["screenheightpixel"]如果有此值,则不再做检测浏览器的步骤而直接进入自动适应的网页。否则进入浏览器的分辨率检测,然后将结果赋值给session["screenwidthpixel"]和session["screenheightpixel"]。

问题来了:
1、如果有网页已经含<form runat="server" id="....">时,上述办法不可行。因为asp.net中只允许一个<form runat="server" ...>,按上述原理进行提交服务器的话,如果网页还有其他提交也必定造成负面影响。
2、还有一个办法,就是采用server.transfer或response.redirect("getscreen.aspx"),但也会造成一定的负页影响,比如:需要返回原来页面的问题。
3、考虑使用ihttphandler?

欢迎大家都来讨论讨论,一定都用得上。因为现在的浏览器类别实在太多了,需要找到一个较好的解决方案。



文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·ASP.NET with C#使用md5,sha1加密初探-.NET教程,Asp.Net开发
·最简单的java分页算法-JSP教程,Java技巧及代码
·创建ASP.NET WEB自定义控件——例程1-.NET教程,Asp.Net开发
·探究客户端浏览器分辨率的自适应问题(1)-.NET教程,评论及其它
·基于.net开发平台项目案例集锦-.NET教程,Asp.Net开发
·编程初学者的良言警句-ASP教程,脚本编码
·Java中for循环中执行顺序问题及break, continue用法-JSP教程,Java技巧及代码
·Java数据库编程中的几个常用技巧-JSP教程,数据库相关
·ASP.NET2.0中的ClientScriptManager 类用法—如何添加客户端事件-.NET教程,评论及其它
·如何查找、删除表中重复的记录-数据库专栏,SQL Server
最新文章
·google adwords投放报告(二)_网赚技巧
·专访帝国软件的创造者:仍然在路上的80后_站长访谈
·王微:视频网站还要烧钱3年_站长访谈
·个人经验:做站的几大忌讳_站长心得
·大鸟的草根站长seo技巧(一)_站长心得
·flash与后台编码兼容性问题的解决方案_flash教程
·怎样才能把自己的网站做好?一定要知道的定律_站长心得
·论网站设计的十大要点2_站长心得
·网页设计配色应用实例剖析——橙色系2_站长心得
·被k的网站如何改进重新申请通过_google推广
相关主题
  • 探究客户端浏览器分辨率的自适应问题(3)-.NET教程,评论及其它
  • 探究客户端浏览器分辨率的自适应问题(2)-.NET教程,评论及其它
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭