激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

香港云服务器
服務(wù)器之家 - 編程語(yǔ)言 - ASP.NET教程 - ASP.NET頁(yè)面借助IFrame提交表單數(shù)據(jù)所遇到問題的解決方法分享

ASP.NET頁(yè)面借助IFrame提交表單數(shù)據(jù)所遇到問題的解決方法分享

2019-09-23 10:33asp.net教程網(wǎng) ASP.NET教程

ASP.NET頁(yè)面借助IFrame提交表單數(shù)據(jù)所遇到問題的解決方法分享,碰到同樣問題的朋友可以參考下。

首先看下面的代碼片段,我們希望用戶在點(diǎn)擊頁(yè)面上的Button時(shí)首先將數(shù)據(jù)提交到指定的第三方頁(yè)面,然后再執(zhí)行后臺(tái)的Page_Load事件。 

復(fù)制代碼代碼如下:


<body> 
<iframe id="WebGatewaySubmissionProcessor_IFrame" name="WebGatewaySubmissionProcessor_IFrame" style="display: none;"></iframe> 
<form onsubmit="javascript:if (typeof WebGatewayDoubleSubmission != 'undefined') {WebGatewayDoubleSubmission(this);}" id="Form1" runat="server"> 
<div id="page"> 
<asp:Button ID="BtnClientSend" runat="server" /> 
</div> 
<script type="text/javascript" id="WebGatewayScript"> 
WebGatewayDoubleSubmission = function(o) { 
var oldAction = o.action; 
var oldOnSubmit = o.onsubmit; 
var oldTarget = o.target; 
var oldMethod = o.method; 
var iframeSubmisionTarget = document.getElementById("WebGatewaySubmissionProcessor_IFrame"); 
var submitPostIframeSubmission = function() { 
o.action = oldAction; 
o.target = oldTarget; 
o.method = oldMethod; 
o.onsubmit = oldOnSubmit; 
o.submit(); 
}; 
/*iframeSubmisionTarget.onload = submitPostIframeSubmission;*/ 
eventPush(iframeSubmisionTarget, 'load', submitPostIframeSubmission); 
o.action = "http://webgateway.hostedmscrm.com/V2/formprocessor.aspx"; 
o.target = "WebGatewaySubmissionProcessor_IFrame"; 
o.onsubmit = null; 
o.method = "POST"; 
o.submit(); 
}; 
WebGatewaySubmission = function(o) { 
o.action = "http://webgateway.hostedmscrm.com/V2/formprocessor.aspx"; 
o.method = "POST"; 
}; 
function eventPush(obj, event, handler) { 
if (obj.addEventListener) { 
obj.addEventListener(event, handler, false); 
} else if (obj.attachEvent) { 
obj.attachEvent('on' + event, handler); 


</script> 
</form> 
</body> 


Form中的onsubmit事件在頁(yè)面被提交時(shí)觸發(fā),此時(shí)首先執(zhí)行WebGatewayDoubleSubmission腳本方法,在該方法中,將當(dāng)前Form的action,onsubmit,target,method緩存到指定的變量中,然后將Form的action和target指向另一個(gè)頁(yè)面進(jìn)行提交,此時(shí)頁(yè)面上的數(shù)據(jù)被Post到第三方頁(yè)面。然后再使用頁(yè)面上隱藏的IFrame來調(diào)用submitPostIframeSubmission方法,并將原先的Form進(jìn)行提交。這里有一個(gè)問題,在上面的代碼中有一行被注釋掉了,原因就是直接使用IFrame的onload方法并不能觸發(fā)該事件,從而導(dǎo)致submitPostIframeSubmission方法不能執(zhí)行,頁(yè)面的第二次提交不成功!使用eventPush方法可以有效地解決該問題。 
同時(shí),在服務(wù)端的Page_Load事件中,需要使用IsPostBack來判斷頁(yè)面是否被提交了: 

復(fù)制代碼代碼如下:


protected void Page_Load(object sender, EventArgs e) 

if (Page.IsPostBack) 

//TODO: 

 

相關(guān)資料:
http://www.4ucode.com/Study/Topic/1087401 
http://wiki.operamasks.org/pages/viewpage.action?pageId=1835020

延伸 · 閱讀

精彩推薦
479
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 伊人二本二区 | 成人h精品动漫一区二区三区 | 久久久无码精品亚洲日韩按摩 | 亚洲欧美日韩在线 | 黄色片视频免费观看 | 国产91免费看 | 五月天影院,久久综合, | 91精品久久久久久 | 91精品国啪老师啪 | 国内精品久久久久久影视8 国产一区二区成人在线 | 性看小视频 | 在线观看第一区 | 亚洲视频在线一区二区 | 成人免费观看av | 午夜精品在线视频 | xvideos korean| 欧美性videofree精品 | 毛片视 | 好骚综合在线 | 香蕉久草视频 | 欧美高清在线精品一区二区不卡 | 玖草在线资源 | 800av凹凸| 农村寡妇偷毛片一级 | 国产99视频在线观看 | 久久吊| 国产高清成人久久 | 免费一级欧美在线观看视频 | 成人毛片免费视频 | 黄色片网站免费观看 | 日本中文字幕电影在线观看 | 亚洲一区 国产精品 | 中文在线观看www | 成人电影毛片 | 精品国产乱码久久久久久久久 | 日韩在线播放第一页 | 最新av在线免费观看 | 玖草| 久草视频国产在线 | 久久精品一区二区三区四区五区 | 成人午夜精品 |