• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

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

    來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:42:43
    文檔

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

    ASP.NET頁面借助IFrame提交表單數(shù)據(jù)所遇到問題的解決方法分享:首先看下面的代碼片段,我們希望用戶在點(diǎn)擊頁面上的Button時(shí)首先將數(shù)據(jù)提交到指定的第三方頁面,然后再執(zhí)行后臺(tái)的Page_Load事件。 代碼如下:<body> <iframe id=WebGatewaySubmissionProcessor_IFrame name=WebG
    推薦度:
    導(dǎo)讀ASP.NET頁面借助IFrame提交表單數(shù)據(jù)所遇到問題的解決方法分享:首先看下面的代碼片段,我們希望用戶在點(diǎn)擊頁面上的Button時(shí)首先將數(shù)據(jù)提交到指定的第三方頁面,然后再執(zhí)行后臺(tái)的Page_Load事件。 代碼如下:<body> <iframe id=WebGatewaySubmissionProcessor_IFrame name=WebG

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

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

    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 

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

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

    ASP.NET頁面借助IFrame提交表單數(shù)據(jù)所遇到問題的解決方法分享:首先看下面的代碼片段,我們希望用戶在點(diǎn)擊頁面上的Button時(shí)首先將數(shù)據(jù)提交到指定的第三方頁面,然后再執(zhí)行后臺(tái)的Page_Load事件。 代碼如下:<body> <iframe id=WebGatewaySubmissionProcessor_IFrame name=WebG
    推薦度:
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 久久99国产精品久久久| 亚洲成人国产精品| 欧美亚洲综合免费精品高清在线观看 | 国产精品偷伦视频观看免费| 国产内地精品毛片视频| 国产精品一二区| 精品三级AV无码一区| 亚洲日韩欧美制服精品二区| 欧美日韩成人精品久久久免费看 | 亚洲欧美一级久久精品| 久久精品无码一区二区三区日韩 | 一区二区国产精品| 免费精品精品国产欧美在线| 国产精品爱搞视频网站 | 91精品国产成人网在线观看| 999国内精品永久免费视频| 亚洲国产精品乱码一区二区| 久久亚洲av无码精品浪潮| 精品国产成人国产在线观看| 国产精品JIZZ在线观看老狼| 91亚洲精品自在在线观看| 九九热这里只有在线精品视 | 欧美XXXX黑人又粗又长精品| 国产精品九九九| 国产成人精品一区二三区在线观看 | 亚洲精品动漫免费二区| 无码精品久久一区二区三区| 亚洲精品成人网久久久久久| 一本久久a久久精品vr综合| 伊人久久精品无码二区麻豆| 在线成人精品国产区免费| 色久综合网精品一区二区| 青青草原精品99久久精品66| 久久亚洲精品国产精品| 国产精品美女久久久久久2018| 国产AV午夜精品一区二区三区| 91视频精品全国免费观看| 精品久久久久久久久中文字幕| 亚洲综合精品香蕉久久网97| 国产精品高清在线观看| 久久精品国产WWW456C0M|