zoukankan      html  css  js  c++  java
  • 前后端交互

    1.ajax交互

    btn,服务器和html控件都可以

    <input type="button" id="btnSave" value="提交" />
    $("#btnSave").click(function () {
                    var Title = $("#Title").val();
                    var Suggest = $("#Suggest").val();
                    var UserId = $("#UserId").val();
                    var tip = "";
                    if (Title == "")
                        tip += "标题不能为空! ";
                    if (Suggest == "")
                        tip += "内容不能为空! ";
                    if (tip.length > 0) {
                        alert(tip);
                        return;
                    }
                    var IsAnonymous = "1";
                    var ischeck = document.getElementById("cbIsEnable").checked;
                    if (ischeck)
                        IsAnonymous = "1";
                    else
                        IsAnonymous = "0";
    
                    $.ajax({
                        url: "PoliticalSuggest.aspx/PoliticalSave", //发送到本页面后台
                        type: "POST",
                        dataType: "json",
                        async: true, //async翻译为异步的,false表示同步,会等待执行完成,true为异步
                        contentType: "application/json; charset=utf-8", //不可少
                        data: "{Title:'" + Title + "',Suggest:'" + Suggest + "',UserId:'" + UserId + "',IsAnonymous:'" + IsAnonymous + "'}",
                        success: function (data) {
                            if (data.d == "suc") {
                                alert("保存成功!");
                                location.reload();
                            }
                            else {
                                alert("保存失败!");
                            }
                        },
                        error: function (msg) {
                            alert("请求出错! " + msg);
                        }
                    });
    
                });
            });

    后端:

    [System.Web.Services.WebMethod()]
            public static string PoliticalSave(string Title, string Suggest, string UserId, string IsAnonymous)
            {
                try
                {
                    string sql = string.Format("insert [McsIPS].[dbo].[PoliticalSuggest](Id,PhoneNo,UserId,IsAnonymous,Title,Suggest,CreateTime) values(NEWID(),'{0}','{1}','{2}','{3}','{4}','{5}')", "", UserId, IsAnonymous, Title, Suggest, DateTime.Now);
                    WriteTextLog("PoliticalSave", "1", sql, DateTime.Now);
                    DbHelperSQL.ExecuteSql(sql);
                }catch(Exception exp)
                {
                    WriteTextLog("PoliticalSave", "2", exp.Message, DateTime.Now);
                    return exp.Message;
                }
                
                return "suc";
            }

    2. iframe交互

    PoliticalSuggest.aspx

    <asp:CheckBox AutoPostBack="True" runat="server" id="cbIsEnable" Checked="true" Text="匿名发表" 
                        oncheckedchanged="cbIsEnable_CheckedChanged" />
    <asp:Panel runat="server" id="panelMobile" Visible="false">
            <iframe src="GetMobile.aspx" name="123" width="0" height="0" scrolling="auto" frameborder="0" >
            </iframe>
        </asp:Panel>
    protected void cbIsEnable_CheckedChanged(object sender, EventArgs e)
            {
                CheckBox cb = sender as CheckBox;
                if (cb == null)
                    return;
                if (cb.Checked)
                {
                    panelMobile.Visible = false;
                }
                else
                {
                    panelMobile.Visible = true;
                }
            }

    GetMobile.aspx

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script language="javascript">
    
        window.onload = function () {
            var x = document.getElementById("PhoneNo").innerHTML;
            parent.ShowSubInfo(x);
        }
    
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Label ID="PhoneNo" runat="server" Text="Label"></asp:Label>
        </div>
        </form>
    </body>
    </html>
    protected void Page_Load(object sender, EventArgs e)
            {
    
                this.PhoneNo.Text = GetCurrentUserId();
            }
    
    private string GetCurrentUserId()
            {
                string username = GetCurrentADUser();
                string sql = "select UserID,mobileiphone,Mobile from User where UserName='" + username + "'";
                DataSet ds = DbHelperSQL.Query(sql);
                if (ds != null && ds.Tables != null && ds.Tables.Count > 0)
                {
                    var UserID = ds.Tables[0].Rows[0]["UserID"] == null ? "" : ds.Tables[0].Rows[0]["UserID"].ToString();
                    var mobileiphone = ds.Tables[0].Rows[0]["mobileiphone"] == null ? "" : ds.Tables[0].Rows[0]["mobileiphone"].ToString();
                    var Mobile = ds.Tables[0].Rows[0]["Mobile"] == null ? "" : ds.Tables[0].Rows[0]["Mobile"].ToString();
                    var PhoneNo = mobileiphone.Equals("") ? Mobile : mobileiphone;
                    return UserID + ";" + PhoneNo;
                }
                return "";
            }

    然后PoliticalSuggest.aspx接收查询的结果:

    function ShowSubInfo(szValue) {
                if (szValue == "") {
                    document.getElementById("PhoneNo").value = szValue;
                    document.getElementById("hfUserId").value = szValue;
                }
                var szArr = szValue.split(";");
                if (szArr.length > 1) {
                    document.getElementById("hfUserId").value = szArr[0];
                    document.getElementById("PhoneNo").value = szArr[1];
                }
            }
  • 相关阅读:
    C#异步调用的好处和方法
    asp.net运行原理
    基于jQuery的AJAX和JSON的实例
    Slq Server创建索引
    SQL查询一个表中类别字段中Max()最大值对应的记录
    优化SQL Server的内存占用之执行缓存
    ASP.NET缓存
    .NET Framework 4.5新特性
    ADO.NET 连接数据库字符串(Oracle、SqlServer、Access、ODBC)
    sql server基础
  • 原文地址:https://www.cnblogs.com/hpbkin/p/6823344.html
Copyright © 2011-2022 走看看