仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 557|回复: 8
打印 上一主题 下一主题

[学习教程] NET网页编程之ASP.NET AJAX之UpdatePanel 和Jquery抵触

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:23:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
你所列的那些其实差不多都可以称为应用服务器(servlet应该说是一种语言更合适)java是开放的,相同的工具就会有很多公司在做,加上java已经发展了很多年了,因此这些工具就很多了。他们很多都是类似的。比来一个项目碰到了一点点贫苦,请看成绩形貌:
在第一次页面加载时,元素A的X效果一般,点击B以后,页面部分革新,此时,回到A,元素A得到X效果.

入手下手觉得是前端我这到程序员那边呈现成绩,但细心反省以后发明没有,厥后懂得了下页面使用了ASP.NETAJAX部分革新,这就开阔爽朗了,估量是和JQUERY抵触了。

成绩重现:
1.ASP.NETAJAX在页面中增加ScriptManager和UpdatePanel
2.在UpdatePanel中增加元素A
3.用jQuery对元素A增加X效果
4.在UpdatePanel中加一个ButtonB用作postback

如许成绩就呈现了。
剖析1:
UpdatePanel在使用中次要用于部分革新,制止全部页面的Postback。UpdatePanel完成部分革新的中心在于MicrosoftAjaxWebForm.js文件,它的部分革新历程就是将页面提交到服务端(包括ViewState),实行服务端代码后异步将在UpdatePanel内的HTML举行从头出现。在此过程当中,页面的别的部分并没有形态变动。

剖析2:
jQuery能够经由过程复杂的代码对HTML元素增加各类属性和事务句柄,我们能够在这里看到官方的文档:
Tutorials:HowjQueryWorks
http://docs.jquery.com/How_jQuery_Works

在这里,我们能够得知,jQuery有个主要的事务标志“ready”,一样平常对HTML元素的效果和事务句柄都经由过程这个ready事务来增加,以下:$(document).ready(function(){
$(“p”).text(“TheDOMisnowloadedandcanbemanipulated.”);
});

官方对此的申明是:ready事务会在DOM完整加载后运转一次,OK,至此,成绩的缘故原由差未几分明了:

缘故原由:
由于在UpdatePanel部分革新以后,个中的元素A被重写,而此时全部DOM树并没有从头加载,以是jQuery的ready事务并没有触发,以是元素A就得到了原本的殊效。

办理计划:
我们能够将ready事务中实行的代码提掏出来,然后经由过程捕捉ScriptManager的EndRequest事务,在每次UpdatePanel部分革新以后实行一次jQuery初始化代码,以下所示:<scripttype=”text/javascript”>
functionslide(){
//hereiscode
}
functionload(){
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
}
functionEndRequestHandler(){
slide();
}
</script>

最初就是必要增加<body>
一个很大的类库。应用程序之所以难以跨平台,在于直接调用了特定平台的接口,而一个巨大的类库,就能极大地减少应用程序对平台的依赖。
柔情似水 该用户已被删除
沙发
发表于 2015-1-18 13:46:50 | 只看该作者
虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。
莫相离 该用户已被删除
板凳
发表于 2015-1-22 19:16:04 | 只看该作者
那么,ASP.Net有哪些改进呢?
老尸 该用户已被删除
地板
发表于 2015-1-31 12:18:47 | 只看该作者
在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的
小妖女 该用户已被删除
5#
发表于 2015-2-6 19:39:30 | 只看该作者
市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
小魔女 该用户已被删除
6#
发表于 2015-2-18 11:09:21 | 只看该作者
碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。
admin 该用户已被删除
7#
发表于 2015-3-6 05:33:41 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。
飘飘悠悠 该用户已被删除
8#
发表于 2015-3-12 21:28:25 | 只看该作者
对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。
活着的死人 该用户已被删除
9#
发表于 2015-3-20 04:18:07 | 只看该作者
是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 00:57

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表