问题描述
公司有个VB。NET开发的网站,但是现在想把其中的几个版块,移动到一个普通的Html网页里,要是用iframe的话,倒也挺简单的。不过公司说最好用别的方法,比如JavaScript什么的。昨天弄了一天,没有成功啊。大家有什么好办法吗。原来的aspx网页里都是用数据库的数据,而且页数也很多,还有很多用vb.net做的检索功能,所以aspx网页已经无法重新做了。我尝试用JavaScript做了下,在一个新的aspx里,利用WebRequest,来读取原来aspx的URL,然后将读取到的流数据,变成字符串返回到Html里显示,不过这样做的话,原来aspx的css文件,图片文件,都没有显示。还请大家给予高见啊
解决方案
解决方案二:
比如cgi或者asp的话,都在内部生成html,然后显示在原有的html上,而且即使有一些数据处理,也都只cgi或者asp文件里处理的,但是如果是aspx的话,是不是根本就不能用这样的方法来实现呢
解决方案三:
JQuerry应该就可以
解决方案四:
首先,你要明白,页面嵌套会导致css冲突的,也就是可能会出现css无效或者没显示的结果其次,如果只是想显示数据、查询数据,你可以采用ajax进行调用aspx。
解决方案五:
引用2楼hacktenk的回复:
JQuerry应该就可以
这个还不太了解,我去查查
解决方案六:
引用3楼net_lover的回复:
首先,你要明白,页面嵌套会导致css冲突的,也就是可能会出现css无效或者没显示的结果其次,如果只是想显示数据、查询数据,你可以采用ajax进行调用aspx。
CSS会冲突,这个我知道,都会用不同的CSS文件的,而且有专门做CSS的人会修改的,我主要是把aspx给显示的就好了,ajax我也只是用过很少的一部分,您说的这个ajax能不能稍微具体一点呢,给我点关键字
解决方案七:
参考W3School的在线测试页面的一个然后查看源码你就会懂得..
解决方案八:
用ajax局部更新,js发送ajax请求到服务器某aspx页面,该页面用Response.Write输出控件对应的客户端代码,最后Response.End就行了。
解决方案九:
引用7楼dalmeeme的回复:
用ajax局部更新,js发送ajax请求到服务器某aspx页面,该页面用Response.Write输出控件对应的客户端代码,最后Response.End就行了。
aspx页面不仅仅是一些数据文本之类的,原本aspx页面就是一个完整的界面,有相应的很多处理和事件,我复制了原有aspx的CSS和图片,虽然aspx可以显示,不过所有的事件和内部的处理都无法执行
解决方案十:
引用6楼xiaolinyouni的回复:
参考W3School的在线测试页面的一个例子然后查看源码你就会懂得..
有没有那个具体的例子啊,我看了一些,可能没有看的很仔细,还是没有什么思路
解决方案十一:
引用2楼hacktenk的回复:
JQuerry应该就可以
请问下,JQuerry有什么相关的函数吗,这个库有点大,没有用过,还真是没有找到合适的方法
解决方案十二:
如果你的aspx页面是一个完整的页面,我的意思是使用了一些服务器端控件,有一些服务器端事件的处理方法,比如某个按钮的服务器端onclick事件处理方法的话,那你使用ajax也是实现不了的,因为asp.net的封装方式要求,整个页面的回送事件都是基于一个form进行处理的所谓的viewstate和一些控件状态保持的方法等都是通过表单中的隐藏字段的赋值实现的,你在一个页面中嵌套多个aspx的输入流会导致,任意一个页面的回送出错。所以只要你有服务器端事件又不改aspx页面的话,就只有iframe一种解决方式了。
解决方案十三:
用jquery不改asp.net页面也不行。
解决方案十四:
引用11楼hwbox的回复:
如果你的aspx页面是一个完整的页面,我的意思是使用了一些服务器端控件,有一些服务器端事件的处理方法,比如某个按钮的服务器端onclick事件处理方法的话,那你使用ajax也是实现不了的,因为asp.net的封装方式要求,整个页面的回送事件都是基于一个form进行处理的所谓的viewstate和一些控件状态保持的方法等都是通过表单中的隐藏字段的赋值实现的,你在一个页面中嵌套多个aspx的输入流会……
就只有iframe了吗,唉,其实我就在aspx的master里用过简单的ajax控件而已,JavaScript里不是很会用ajax的,其他的只作过一下Perl的CGI的HTML的输出,即使有数据的处理,都是对文本的读取操作,的确和Perl的CGI等等比起来,aspx的服务器处理比较棘手啊,按您能这么说的话,在html页面了,除了iframe以外,就无法实现完整aspx网页的显示了?我是就这么放弃,用iframe了呢?还是在继续努力看看有没有新方法呢?
解决方案十五:
是.net自带的ajax控件吗?是的话不行。
解决方案:
当然如果你只用.net的ajax,并且html中只嵌一个aspx还是可以的,不过html中不能用任何的form
解决方案:
引用15楼hwbox的回复:
当然如果你只用.net的ajax,并且html中只嵌一个aspx还是可以的,不过html中不能用任何的form
也就是说,即使使用aspx的话,aspx也无法完成服务器事件处理,所能做的只是向html输出一些从数据库得到并加工好的html文本而已是吗?看来,我只能用iframe来做了
解决方案:
是的,因为微软前期的思路是完全oo的web应用解决方案,前后台视为一体,有点过度封装。页面上的很多东西都是不能碰的,特别是那个唯一form非常讨厌。