发表评论
感觉没有讲清楚,而且要实现楼主所说的功能,其实很简单,只要构建多一个form即可,form中的元素是动态构建的,需要提交什么就构建什么,也不需要再另外开一个窗口了。
至于action,只是ASP.NET默认都是将表单提交到当前页面的URL,所以,我们才会忽略了这个属性。如果使用J2EE或者LAMP架构来编写web应用程序,这个action属性是跑不掉的。
ASP.NET现有的编程架构确实让人容易有很多思维定势啊。。。
是html知识,跟http没啥关系,另外解决ajax里form action的问题,我有一篇说的很细了,可以参考一下
window.open已经属于鸡肋了,在反弹出窗口呼声这么高加上包括浏览器本身都阻止弹出的情况下,楼主提供的方式未必能用
@FantasySoft
ASP.NET现有的编程架构确实让人容易有很多思维定势啊。。。
对,就是想说明这个问题
@狂人
与http有没有关系可以参考RFC。
window.open()旨在用在用来做个大家都熟悉的简单的demo,提供思路。
这在HTML编程年代(那时ASP简直不能用)是相当简单的。
直接写target="_blank"就可以了,怎么这么想?
对哦,直接target="_blank"加那几行JS都省了
html的post是对整个form做post操作,当这个form中其他元素的value比较大时这个form的post此时就不经济了。
但是我看楼主还是用的 http的post?没看出差别
在aspx直接构造2个form是有点...
如果你一定要构造两个form,则动态创建一个iframe,在iframe里面做操作,post到当前页面可以,post到其他页面也可以。
html,不是http。
一个是标记语言,一个是通信协议。
我怎么看不太明白你想说什么呀。
为什么不用 xmlhttp 的 post
有几种方案可以解决, 而且不用打开新窗口, 只需提交指定的数据
1. 用JS直接在Body后面动态创建一个 Form , 同时创建Input数据控件, 直接调用 submit().
2. 以Get的方式, 到一个隐藏的 IFrame 中.
3. 通过Ajax的功能去完成.