MagicAjax问题集(一)

本文介绍了一个关于AjaxPanel与验证控件在Asp.net1.1中出现的问题及解决方案。当AjaxPanel加载包含验证控件的用户控件时,会因部分刷新导致WebUIValidation.js未被正确加载,从而引发错误。文章提供了简单的解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先声明,我非常非常喜欢MagicAjax(或者我换个说法吧,AjaxPanel) ,因为它让我可以在Asp.net 1.1轻松地涌上无刷新页面技术,特别是面对常常的表单,每次Postback都使页面回到顶头位置,使得页面感受异常的差。 我之所以写这篇文章,并不是诋毁MagicAjax,反而希望大家能够并重就轻地使用它。 一、JavaScript & 验证控件 大家都知道,Asp.net中的验证控件,都是基于一个叫做WebUIValidation.js中的一些函数而实现的,如果你删除了他,当页面中没有这种验证控件不在页面上出现的话,就不会提示出错,但是一旦你的页面出现了它,Asp.net就会自动将WebUIValidation.js引入, 不是在Head标签里,而是在body标签里面找到一句:
。。。。。 。。。。。。。。。 。。。。。。。。。。。。。。 <body>         <form name="login" method="post" action="Default.aspx"                     language="javascript" onsubmit="if (!ValidatorOnSubmit()) return false;" id="login"> <input type="hidden" name="__VIEWSTATE"             value="dDwtOTk3NzU3MDM0OztsPFNpZ25JbjE6SW1hZ2VCdXR0b24xOz4+tU/5NOWoUoYg6jAib+Idyfy23Fc=" />      <script language="javascript" type="text/javascript"                src="/aspnet_client/system_web/1_1_4322/WebUIValidation.js"></script>             <table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">                 <tr>                     <td height="200">&nbsp;</td>                 </tr> 。。。。。。。。。。。。。。 。。。。。。。。。。 。。。。。

 

问题就出在这样一个情景,我在一个page中有一个AjaxPanel(这个页面中没有验证控件),我将一个用户控件(.ascx,这个用户控件里面有验证控件),用LoadControl将它Load 进这个AjaxPanel里面,问题就出现了,当你浏览的时候就会弹出一个对话框,说找不到 WebUIValidation.js 这个文件,但是明明还是在的啊。 我估计是由于页面现在是部分刷新的,大家可以留意这句话 <script language="javascript" type="text/javascript"                src="/aspnet_client/system_web/1_1_4322/WebUIValidation.js"></script> 不是在AjaxPanel里面,所以不会被加上。 解决方法很简单,在Head标签里加一句: <script language="javascript" type="text/javascript"                src="/aspnet_client/system_web/1_1_4322/WebUIValidation.js"></script> 让它强制load进这个JS文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值