0

我正在为移动开发 Web 应用程序,我想从 javascript 打开 SMS 编辑器。下面是我的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)
        {

        }
    }

这是我想打开短信编辑器并调用我的代码背后的代码

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 回答