+ -
当前位置:首页 → 问答吧 → 探讨一个困扰我很久的问题:js操控dom与后台交互刷新出现的问题

探讨一个困扰我很久的问题:js操控dom与后台交互刷新出现的问题

时间:2011-08-31

来源:互联网

在写asp.net的时候,有一个问题困扰了很久,但是都没有找到很好的办法解决。

问题:

当js操控dom对网页元素进行动态添加删除,但一与后台交互刷新,网页就回到之前的状态(在没有对dom进行操作之前)。
问一下,有没有什么很好的办法防止新生成的元素丢失??


举个例子:
现需要提交多个附件,并把提交的附件显示在一个div中,在这个过程中使用js去操作dom,然后把文件显示出来;
显示出来后,因为某种需要,前台与后台需要数据传输(例如:可能是其它控件,例如checkbox需要,用于某中判断),
这个时候页面就会刷新,而用js操作dom所显示附件名称那段就会消失不见。

作者: BlueSkyInMyEye   发布时间: 2011-08-31

不刷页面
jquery ajax 

不使用jquery ajax

试一下IE8

作者: wxr0323   发布时间: 2011-08-31

有没有具体的例子,因为现在都没有见过;给个链接也行

作者: BlueSkyInMyEye   发布时间: 2011-08-31

作者: wxr0323   发布时间: 2011-08-31

作者: wxr0323   发布时间: 2011-08-31

因为某种需要,前台与后台需要数据传输(例如:可能是其它控件,例如checkbox需要,用于某中判断),
这个时候页面就会刷新
----------------------------------------------
将你这个操作 用 ajax 来做

作者: Sandy945   发布时间: 2011-08-31

引用 5 楼 sandy945 的回复:
因为某种需要,前台与后台需要数据传输(例如:可能是其它控件,例如checkbox需要,用于某中判断),
这个时候页面就会刷新
----------------------------------------------
将你这个操作 用 ajax 来做


是否只能用ajax?

作者: BlueSkyInMyEye   发布时间: 2011-08-31

这里的ajax 指的是异步的交互手段

如果你要同步的话,理论上也是可以的

就是将页面的状态同时传递,回发后根据状态设置相关元素

作者: Sandy945   发布时间: 2011-08-31

引用 1 楼 wxr0323 的回复:
不刷页面
jquery ajax

不使用jquery ajax

试一下IE8


如果像我这样,刷新的时候比较div中包含很多种元素呢?
有没有Ajax复杂一点的例子

作者: BlueSkyInMyEye   发布时间: 2011-08-31

作者: LMAOhuaNL   发布时间: 2011-08-31

Ajax复杂一点的例子 ..

作者: hsc568814139   发布时间: 2011-08-31

我的境界还达不到那么高,如果可以的话,给我几个复杂的Ajax的例子,让我研究一下....

作者: BlueSkyInMyEye   发布时间: 2011-08-31

如果必须刷新的话,存起来可以么?这个应该属于同一页面多次提交间保存状态的问题!LZ可以试试用viewstate或者隐藏控件,隐藏域等先把改好的状态存起来。
  如果不是必须刷新,则可以使用ajax进行异步操作

作者: qian_jinli   发布时间: 2011-08-31

引用 8 楼 blueskyinmyeye 的回复:
引用 1 楼 wxr0323 的回复:
不刷页面
jquery ajax

不使用jquery ajax

试一下IE8


如果像我这样,刷新的时候比较div中包含很多种元素呢?
有没有Ajax复杂一点的例子


都可以啊 LZ是使用的MVC+AJAX吗

作者: zyloveyrf   发布时间: 2011-08-31

引用 13 楼 zyloveyrf 的回复:
引用 8 楼 blueskyinmyeye 的回复:
引用 1 楼 wxr0323 的回复:
不刷页面
jquery ajax

不使用jquery ajax

试一下IE8


如果像我这样,刷新的时候比较div中包含很多种元素呢?
有没有Ajax复杂一点的例子


都可以啊 LZ是使用的MVC+AJAX吗


没有具体的使用,只是在很多编程中遇到类似的问题,但是又找不到好得解决方案

作者: BlueSkyInMyEye   发布时间: 2011-08-31

眼中的蓝天……

好有浪漫情怀 楼主 你应该弃理从文 做个小说家 剧作家 文艺工作者 或者诗人

华夏文明的荒漠渴望你来浇灌

作者: WO_YOU_XIE_SHANG_XIN   发布时间: 2011-09-01

引用 15 楼 wo_you_xie_shang_xin 的回复:
眼中的蓝天……

好有浪漫情怀 楼主 你应该弃理从文 做个小说家 剧作家 文艺工作者 或者诗人

华夏文明的荒漠渴望你来浇灌

广告的也来了,汗

作者: BlueSkyInMyEye   发布时间: 2011-09-01

BlueSkyInMyEye=眼中的蓝天

如此有诗意的昵称 有如神来之笔 料你身后必有百千侠义故事 来来来 说来听听 顺便让老僧给你卜上一卦 赏个十分八分我也好度日 于你于我 此皆善缘啊

作者: WO_YOU_XIE_SHANG_XIN   发布时间: 2011-09-01

引用 11 楼 blueskyinmyeye 的回复:
我的境界还达不到那么高,如果可以的话,给我几个复杂的Ajax的例子,让我研究一下....

像使用jQ的表格插件,如果页面上类似的区域很多的话 再加上文件上传 那就是复杂的ajax 应用了

作者: Sandy945   发布时间: 2011-09-01

很明显,传统的asp.net解决了状态管理问题,让你体验类似winform的编程,但是它毕竟不支持ajax方式来处理状态,毕竟不合乎最近4、5年的潮流。而ajax编程则是另外完全不同的状态方式,你的程序不再应该有回发机制,否则就会丢失状态。

所谓中间方式,什么asp.net mvc,则是就像是不男不女的人,它不给你管理状态,而又忽悠你什么control回发机制,这种“模糊方式”没有什么技术含量。

作者: sp1234   发布时间: 2011-09-01

你要明白,你是在开发一个交互式应用程序,已经不是普通意义上的简单的宣传性网页了。现在一般的网页,跟web企业应用程序不同,其实都非常简单,几乎没有交互操作。所以假设你用现在这类网页所时髦的开发方法,用来开发交互式的web应用程序,会遇到很大的尴尬。

比如说各大网站,你打开它的网页,我们跟普通的aspx比较,最直观的就是发现普通的aspx里边的<form runat="server" />这个标签应该首先被删除掉,进而一些控件、以及ViewState也就不需要了。这是普通的宣传类网页的特点。它没有考虑支持回发交互,也就是传统的asp、php就足够开发了,根本不需要asp.net。

你使用asp.net功能最好是用来开发web应用程序。然而asp.net这几年根本不专注于开发各种基于ajax的控件,使得它越来越不合时宜,真正懂得asp.net机制的编程者处于被淘汰的地位,那些只懂aasp.net十分之一东西的人就足够进行web网页开发了。

作者: sp1234   发布时间: 2011-09-01

引用 18 楼 sandy945 的回复:
引用 11 楼 blueskyinmyeye 的回复:
我的境界还达不到那么高,如果可以的话,给我几个复杂的Ajax的例子,让我研究一下....

像使用jQ的表格插件,如果页面上类似的区域很多的话 再加上文件上传 那就是复杂的ajax 应用了


其实,我就是想要复杂的AJax应用,看了很多基础的Ajax,对于Ajax还是了解一点得,但是就是不会复杂的运用Ajax,所以很想知道怎么做的

作者: BlueSkyInMyEye   发布时间: 2011-09-02

引用 20 楼 sp1234 的回复:
你要明白,你是在开发一个交互式应用程序,已经不是普通意义上的简单的宣传性网页了。现在一般的网页,跟web企业应用程序不同,其实都非常简单,几乎没有交互操作。所以假设你用现在这类网页所时髦的开发方法,用来开发交互式的web应用程序,会遇到很大的尴尬。

比如说各大网站,你打开它的网页,我们跟普通的aspx比较,最直观的就是发现普通的aspx里边的<form runat="server" />这个……

恩,感觉上微软的Ajax控件没有那么灵活,有点排斥,有没有复杂Ajax例子,给我一个,谢谢啦

作者: BlueSkyInMyEye   发布时间: 2011-09-02

引用 17 楼 wo_you_xie_shang_xin 的回复:
BlueSkyInMyEye=眼中的蓝天

如此有诗意的昵称 有如神来之笔 料你身后必有百千侠义故事 来来来 说来听听 顺便让老僧给你卜上一卦 赏个十分八分我也好度日 于你于我 此皆善缘啊

和尚还不快点会庙念经,快去快去,别阻碍我做生意,哈哈

作者: BlueSkyInMyEye   发布时间: 2011-09-02

热门下载

更多