0

javascript から SMS エディターを開きたいモバイル用の Web アプリケーションを開発しています。以下は私のaspxコードです

<a class="redBtn fltrt" href="#" id="lnkBuy" runat="server" onclick="return makePayment()" onserverclick="lnkBuy_Click" rev='12' rel='21'>Buy</a>

および onClick メソッド

function makePayment()
    {
        try
        {
            var res=confirm('Are you sure to continue?');
            if(res == true)
            {
                window.location='sms:+334343434343';
                return true;
            }
            else
            {
                return false;
            }
        }
        catch(Error)
        {

        }
    }

ここでは、SMS エディターを開いてコード ビハインド コードを呼び出したいと考えています。

protected void lnkBuy_Click(object sender, EventArgs e)
{
     //code goes here
}

これを使用すると、SMS エディターを開くことができますが、コードの背後にあるコードにリダイレクトすることはできません。この両方のアクションを同時に実行する方法、またはその他の便利な方法を提案できますか。

前もって感謝します

4

2 に答える 2

0

最初にサーバー呼び出しを実行してから、クライアントにリダイレクトを「sms:+334343434343」に送信するという別の方法で行うことができますか?

または、ASP.NET コールバック メカニズムを使用する代わりに、window.location が変更される前に AJAX 呼び出しをサーバーに送信します。

サーバー側で何をする必要があるかによって異なります。

于 2012-12-12T10:59:15.967 に答える
0

XMLHTTPRequest を使用して呼び出しを処理ページに送信し、ネイティブの SMS エディター呼び出しにリダイレクトする別の関数を記述します。

以下は私のコードです

function makeoldPayment(courseId,basketId)
    {
        try
        {
            var res=confirm('Are you sure to continue?');
            if(res == true)
            {                   
                var mobNo = document.getElementById('hidMNo').value;
                var lerid = document.getElementById('hidLId').value;
                var sendDataToServerReq = getXMLHttpRequest();

                var newURL = window.location.protocol + "//" + window.location.host + "/Learners/SaveToDB.aspx?cid=1&mbid=123456&bid=43&lid=3;
                //alert(newURL)
                sendDataToServerReq.open("POST", newURL, false);

                sendDataToServerReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8;");
                gosms();
                sendDataToServerReq.send("mobno="+mobNo+"&lerid="+lerid+"&basketid="+basketId+"&recordid="+courseId);
                location.reload();
                return false;
            }
            else
            {
                return false;
            }
        }
        catch(Error)
        {

        }
    }

    function gosms()
    {
    try
        {
        window.location='sms:+334343434343';
        }
        catch(Error)
        {
        }
    }



    function getXMLHttpRequest()
    {
       var httpRequest = null;

        // Create the appropriate HttpRequest object for the browser.
        if (window.XMLHttpRequest != null){
            httpRequest = new window.XMLHttpRequest();
        }else if (window.ActiveXObject != null){
            // Must be IE, find the right ActiveXObject.
            var success = false;
            for (var i = 0; i < XMLHTTPREQUEST_MS_PROGIDS.length && !success; i++)
            {
                try{
                    httpRequest = new ActiveXObject(XMLHTTPREQUEST_MS_PROGIDS[i]);
                    success = true;
                }
                catch (ex)
                {}
            }
        }

        if (httpRequest == null){
            //alert("Error in HttpRequest():\n\nCannot create an XMLHttpRequest object.");
        }

        return httpRequest;
    }

これが誰かを助けることを願っています:)

于 2012-12-20T06:26:32.137 に答える