(2012-04-17注:easyui新版本layout已经有fit属性,不用这么麻烦)
一个小小的应用
一、使用asp.net 自带的form;
二、用div代替asp.net 自带的form;
开发工具:VS2008
框架:jquery-easyui-1.2.6.js,jquery-1.7.2.min.js
浏览器:IE6,chrome20.0.1132
一、使用asp.net 自带的form;
由于aspx页面的特殊性,class='easyui-layout'如果直接放在body上,用div作region,会因为中间间隔著名的<form id="form1" runat="server" >服务器控件,而出现缺失节点的错误;
目前可行的方法是把class='easyui-layout'放到<form id="form1" runat="server" >服务器控件内,同时,让form自动适应body的高宽;
具体操作为,取window的高宽,设置给form;
其中,为了给body四周留出一定的margin,取出的window高宽各减去10,同时把body的margin:5px;
窗口自适应js文件:WindowAutoFit.js
- /// <reference path="jquery-easyui/jquery-1.7.2.min.js" />
- /// <reference path="jquery-easyui/jquery.easyui.min.js" />
- //窗口自适应调整
- $(function() {
- windowResize(); //文档载入时加载
- $(window).resize(function() {
- windowResize(); //窗口改变大小时加载
- });
- });
- function windowResize() {
- var width = $(window).width()-10; //减去10与body中margin:5px共同作用:为body留的边距
- var height = $(window).height()-10;
- $('form#form1').width(width);
- $('form#form1').height(height);
- $('form#form1').layout(); //相当于<form id='form1' class='easyui-layout' runat="server">
- }
相关aspx文件:index.aspx
- <html>
- <head runat="server">
- <title>Test</title>
- <script type="text/javascript" src="../Public/js/FusionCharts.js"> </script>
- <link href="../Public/js/jquery-easyui/themes/default/easyui.css" rel="stylesheet" type="text/css" />
- <link href="../Public/js/jquery-easyui/themes/icon.css" rel="stylesheet" type="text/css" />
- <script src="../Public/js/jquery-easyui/jquery-1.7.2.min.js" type="text/javascript"> </script>
- <script src="../Public/js/jquery-easyui/jquery.easyui.min.js" type="text/javascript"> </script>
- <script src="../Public/js/WindowAutoFit.js" type="text/javascript"></script>
- <script src="../Public/js/ImtTrade.js" type="text/javascript"> </script>
- </head>
- <body style="margin:5px; padding: 0px;">
- <!-- class="easyui-layout"由js文件放到form中 -->
- <form id="form1" runat="server" style="margin:0; padding: 0px;">
- <!-- 其它代码 -->
- </form>
- </body>
- </html>
二、用div代替asp.net 自带的form;
js代码:
- //窗口自适应调整
- $(function() {
- windowResize(); //文档载入时加载
- $(window).resize(function() {
- windowResize(); //窗口改变大小时加载
- });
- });
- function windowResize() {
- var width = $(window).width()-10; //减去10与body中margin:5px共同作用:为body留的边距
- var height = $(window).height()-10;
- // $('form#form1').width(width);
- // $('form#form1').height(height);
- // $('form#form1').layout(); //相当于<form id='form1' class='easyui-layout' runat="server">
- $('#autoFitWindow').width(width);
- $('#autoFitWindow').height(height);
- $('#autoFitWindow').layout(); //相当于<form id='form1' class='easyui-layout' runat="server">
- }
aspx代码:
- <html>
- <head>
- <title>test</title>
- <link href="../Public/js/jquery-easyui/themes/default/easyui.css" rel="stylesheet" type="text/css" />
- <link href="../Public/js/jquery-easyui/themes/icon.css" rel="stylesheet" type="text/css" />
- <script src="../Public/js/jquery-easyui/jquery-1.7.2.min.js" type="text/javascript"> </script>
- <script src="../Public/js/jquery-easyui/jquery.easyui.min.js" type="text/javascript"> </script>
- <script src="../Public/js/WindowAutoFit.js" type="text/javascript"></script>
- </head>
- <body style="margin:5px; padding: 0px;">
- <div id="autoFitWindow" style="margin:0; padding: 0px;">
- <%--其它代码--%>
- </div>
- </body>
- </html>