easyui放到aspx里面出现问题的解决方案

(选用easyui框架一定要谨慎,2012-10-12注)

也没什么,只是一个小小的应用

一、使用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

[javascript] view plain copy print ?
  1. /// <reference path="jquery-easyui/jquery-1.7.2.min.js" />  
  2. /// <reference path="jquery-easyui/jquery.easyui.min.js" />  
  3.   
  4. //窗口自适应调整       
  5. $(function() {  
  6.     windowResize();  //文档载入时加载   
  7.     $(window).resize(function() {  
  8.         windowResize();  //窗口改变大小时加载   
  9.     });  
  10. });  
  11.   
  12. function windowResize() {  
  13.     var width = $(window).width()-10;   //减去10与body中margin:5px共同作用:为body留的边距  
  14.     var height = $(window).height()-10;  
  15.     $('form#form1').width(width);  
  16.     $('form#form1').height(height);  
  17.     $('form#form1').layout();  //相当于<form id='form1' class='easyui-layout' runat="server">  
  18. }  
/// <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

  1. <html>  
  2.     <head runat="server">  
  3.         <title>Test</title>  
  4.         <script type="text/javascript" src="../Public/js/FusionCharts.js"> </script>  
  5.         <link href="../Public/js/jquery-easyui/themes/default/easyui.css" rel="stylesheet" type="text/css" />  
  6.         <link href="../Public/js/jquery-easyui/themes/icon.css" rel="stylesheet" type="text/css" />  
  7.           
  8.         <script src="../Public/js/jquery-easyui/jquery-1.7.2.min.js" type="text/javascript"> </script>  
  9.         <script src="../Public/js/jquery-easyui/jquery.easyui.min.js" type="text/javascript"> </script>  
  10.           
  11.         <script src="../Public/js/WindowAutoFit.js" type="text/javascript"></script>  
  12.         <script src="../Public/js/ImtTrade.js" type="text/javascript"> </script>  
  13.           
  14.   
  15.     </head>  
  16.     <body style="margin:5px; padding: 0px;">  
  17.         <!-- class="easyui-layout"由js文件放到form中  -->  
  18.         <form id="form1" runat="server" style="margin:0; padding: 0px;">  
  19.   
  20.               <!--  其它代码  -->  
  21.   
  22.         </form>  
  23.     </body>  
  24. </html>  
<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代码:

[javascript] view plain copy print ?
  1. //窗口自适应调整       
  2. $(function() {  
  3.     windowResize();  //文档载入时加载  
  4.     $(window).resize(function() {  
  5.         windowResize();  //窗口改变大小时加载  
  6.     });  
  7. });  
  8.   
  9. function windowResize() {  
  10.     var width = $(window).width()-10;   //减去10与body中margin:5px共同作用:为body留的边距  
  11.     var height = $(window).height()-10;  
  12. //  $('form#form1').width(width);   
  13. //  $('form#form1').height(height);  
  14. //  $('form#form1').layout();  //相当于<form id='form1' class='easyui-layout' runat="server">  
  15.       
  16.       
  17.     $('#autoFitWindow').width(width);  
  18.     $('#autoFitWindow').height(height);  
  19.     $('#autoFitWindow').layout();  //相当于<form id='form1' class='easyui-layout' runat="server">  
  20. }  
//窗口自适应调整    
$(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代码:

[javascript] view plain copy print ?
  1. <html>  
  2.     <head>  
  3.         <title>test</title>  
  4.         <link href="../Public/js/jquery-easyui/themes/default/easyui.css" rel="stylesheet" type="text/css" />  
  5.         <link href="../Public/js/jquery-easyui/themes/icon.css" rel="stylesheet" type="text/css" />  
  6.           
  7.         <script src="../Public/js/jquery-easyui/jquery-1.7.2.min.js" type="text/javascript"> </script>  
  8.         <script src="../Public/js/jquery-easyui/jquery.easyui.min.js" type="text/javascript"> </script>  
  9.           
  10.         <script src="../Public/js/WindowAutoFit.js" type="text/javascript"></script>  
  11.   
  12.     </head>  
  13.     <body style="margin:5px; padding: 0px;">  
  14.         <div id="autoFitWindow" style="margin:0; padding: 0px;">  
  15.                   
  16.             <%--其它代码--%>  
  17.   
  18.         </div>  
  19.     </body>  
  20. </html>  
<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>


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值