葡萄酸

快乐会传染,我从不吝啬

导航

.net后台获取Confirm返回值

日前做到一个需求.net后台获取js返回值,根据前台获取yes or no,后台执行不同业务逻辑。

解决方案:后台业务逻辑写入第三方页面,前台脚本使用JQ Ajax请求。

DEMO:点击按钮弹出Confirm,Sure加法运算,Cancel减法运算,运算逻辑写于第三方页面。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Demo_ReturnConfirm.aspx.cs" Inherits="ClientTest.Demo_ReturnConfirm" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script src="js/jquery-2.1.0.js"></script>
    <script type="text/javascript">
        function operate() {
            var p_one = $("#txtOne").val();
            var p_two = $("#txtTwo").val();
            var a = confirm("点击确定加法运算,取消减法运算");
            if (a == true) {
                $.ajax({
                    type: "Get", //访问WebService使用Post方式请求 
                    url: "index.aspx", //调用WebService
                    data: 'type=Add&p_one=' + p_one + '&p_two=' + p_two,
                    dataType: 'html',
                    // cache: false,
                    //beforeSend: function (x) { x.setRequestHeader("Content-Type", "application/json; charset=utf-8"); },
                    error: function (x, e) { alert("Error:" + x + e) },
                    success: function (result) { //回调函数,result,返回值
                        alert(result);

                    }
                });
            }
            else {
                $.ajax({
                    type: "Get", //访问WebService使用Post方式请求 
                    url: "index.aspx", //调用WebService
                    data: 'type=Cut&p_one=' + p_one + '&p_two=' + p_two,
                    dataType: 'html',
                    //cache: false,
                    //beforeSend: function (x) { x.setRequestHeader("Content-Type", "application/json; charset=utf-8"); },
                    error: function (x, e) { alert("Error:" + x + e) },
                    success: function (result) { //回调函数,result,返回值
                        alert(result);
                    }
                });
            }
            return false;
        };
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="txtOne" runat="server"></asp:TextBox>
            <asp:TextBox ID="txtTwo" runat="server"></asp:TextBox>
            <asp:Button ID="BtnSure" runat="server" Text="Operate" OnClientClick=" return operate()" />
        </div>
    </form>
</body>
</html>

 

  public partial class Index : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.QueryString["type"] == "Add" && Request.QueryString["p_one"] != null && Request.QueryString["p_two"] != null)
            {
                Response.Write(Operate_Add(Convert.ToInt32(Request.QueryString["p_one"].ToString()), Convert.ToInt32(Request.QueryString["p_two"].ToString())));
                Response.End();
            }
            if (Request.QueryString["type"] == "Cut" && Request.QueryString["p_one"] != null && Request.QueryString["p_two"] != null)
            {
                Response.Write(Operate_Cut(Convert.ToInt32(Request.QueryString["p_one"].ToString()), Convert.ToInt32(Request.QueryString["p_two"].ToString())));
                Response.End();
            }
        } 
private string Operate_Add(int p_one, int p_two) { return (p_one + p_two).ToString(); } private string Operate_Cut(int p_one, int p_two) { return (p_one - p_two).ToString(); } }

 

posted on 2015-06-04 18:22  虞筱瑶  阅读(787)  评论(0编辑  收藏  举报