asp.net post 提交数据并跳转页面

本文介绍了作者在项目中遇到的一个ASP.NET表单提交后新标签页预览的问题。原本使用Server.Transfer方法,导致点击预览后,后续提交操作也在新标签页进行。为解决此问题,尝试了后台删除表单属性和前端AJAX提交,最终通过在前端将提交按钮类型改为<input type="button" />,结合URL传参和window.open()实现了预览功能,避免了数据丢失和不必要的页面刷新。

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

最近在公司的项目里,需要修改一个bug。原有的页面是在一个表单提交前,作一个预览的功能。

原有的代码是把一个页面的数据提交到另一个aspx页面,打开一个新标签页重新展示。用的是后台Server.Transfer(“2.apsx”); 通过在后台通过添加Form属性(_bank)来实现;但后来客户反映,只要点击了预览以后,之后点提交按钮也会在新添加的标签页跳转,导致原来的表单提交页没有关闭。

一开始通过后台各种删除(_bank)属性,仍然无法改变这种状况。无奈只好想到换一种表单提交方式,通过前台ajax函数来提交数据后,再转发。

代码如下:

如上:代码完成后,点击按钮测试,发现数据可以成功post到也能返回结果1,但是window.open()这一步却是完全无效的。

无奈只好百度,有文章说要把按钮换成<input type="button" />,原因是,button是一个单纯的一个按钮,没有submit的页面提交功能,具体可参考:https://www.jb51.net/article/117832.htm。于是试着把按钮换了,点击测试,成功跳转。但是success函数重新转发后,相当于重新一次请求没有带数据。结果是最后还是换成url传参,window.open()直接跳转,非常轻松。如果换成session或cookie传参也是可以成功的,这样就需要考虑清除缓存的问题,如果提交的数据比较多,还是用submit吧。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值