Ajax+JQuery+LinQ实现增删改查无刷新

    技术2022-05-20  44

    开发工具SQL server2008/vs2010.

    采用三层框架(BLL/DAL/UI).

    首先在SQL server2008中创建名为UserInfo的数据库,表名为tb_user包含字段UserID(主键/自动标识符为1)/UserName/Sex/Birthday/Address/Phone/Remark.

    在VS2010中新建项目LinQU,在项目中分别添加类库BLL/DAL/Model与网站Web.

    在Model类库中添加名为DataUser的LinQ to SQL类,点开服务器资源管理器连接到本地数据库,把表拖拽到DataUser中.

     

    在DAL中添加Duser类,添加Model类库、System.Data.Linq的引用,然后代码如下:

     

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using Model;

    namespace DAL{    public class DUser    {

            //引用Model中创建的LinQ to SQL 类        DataUserDataContext db = new DataUserDataContext();

            //查询用户表信息

            public IQueryable SelectUser()        {            var user = from u in db.tb_user                       select u;            return user;        }

            //添加用户信息

            public void InserUser(tb_user tbuser)        {            tb_user user = new tb_user();            user.Address = tbuser.Address;            user.Birthday = tbuser.Birthday;            user.Phone = tbuser.Phone;            user.Remark = tbuser.Remark;            user.Sex= tbuser.Sex;            user.UserName = tbuser.UserName;            db.tb_user.InsertOnSubmit(user);            db.SubmitChanges();        }

     

            //修改用户信息

            public void UpdateUser(tb_user tbuser)        {            tb_user user = db.tb_user.Single(u=>u.UserID==tbuser.UserID);            user.Address = tbuser.Address;            user.Birthday = tbuser.Birthday;            user.Phone = tbuser.Phone;            user.Remark = tbuser.Remark;            user.Sex = tbuser.Sex;            user.UserName = tbuser.UserName;            db.SubmitChanges();        }

     

            //删除用户信息

            public void DeleteUser(tb_user tbuser)        {            tb_user user = db.tb_user.Single(u=>u.UserID==tbuser.UserID);            db.tb_user.DeleteOnSubmit(user);            db.SubmitChanges();        }

        }}

     

     

    在BLL中添加BUser类,添加Model/DAL类库的引用,然后代码如下:

     

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using DAL;using Model;

    namespace BLL{    public class BUser    {

            //实例化DUser类        static DUser duser = new DUser();

     

            //查询用户表信息        public static IQueryable SelectUser()        {            return duser.SelectUser();        }

     

            //添加用户信息         public static void InserUser(tb_user user)        {            duser.InserUser(user);        }

     

            //修改用户信息

            public static void UpdateUser(tb_user user)        {            duser.UpdateUser(user);        }

     

            //删除用户信息

            public static void DeleteUser(tb_user user)        {            duser.DeleteUser(user);        }    }}

     

    在网站Web中,添加对BLL/Model类库的引用,新建名为UserInfo的窗体:

     

    在<head>标签中添加代码如下:

     

    <head runat="server">    <title></title>    <script language="javascript" type="text/javascript" src="Scripts/jquery-1.4.1.min.js">

         //VS2010中自带的Scripts/jquery-1.4.1.min.js

         </script>

        <script language="javascript" type="text/javascript" >

          //无刷新绑定函数        function Bind() {            $.ajax({                type: "GET",                url: "UserInfo.aspx",                datatype: "html",                data: "type=Bind&" + Math.random(),                success: function (msg) {                    $("#queryResult").html(msg);                }            });        }

     

           //添加用户信息

            function Insert() {            $.ajax({                type: "GET",                url: "UserInfo.aspx",                datatype: "html",                data: "&UserName=" + escape($("#txtusername").val()) + "&Sex=" + escape($("#txtsex").val())                + "&Address=" + escape($("#txtaddress").val()) + "&Brithday=" + $("#txtbrithday").val() + "&Phone="                + escape($("#txtphone").val()) + "&Remark=" + escape($("#txtremark").val()) + "&type=Insert&" + Math.random(),                success: function (msg) {                    if (msg == "添加成功") {                        alert("添加成功!");                        Bind();                    }                    else {                        alert(msg);                    }                }            });        }

     

           //删除用户

            function Delete() {            $.ajax({                type: "GET",                url: "UserInfo.aspx",                datatype: "html",                data: "UserID=" + $("#txtuserid").val() + "&type=Delete&" + Math.random(),                success: function (msg) {                    if (msg == "删除成功") {                        alert("删除成功!");                        Bind();                    }                    else {                        alert(msg);                    }                }            });

            }

     

           //修改用户

            function Update() {            $.ajax({                type: "GET",                url: "UserInfo.aspx",                datatype: "html",                data: "UserID=" + $("#txtuserid").val() + "&UserName=" + escape($("#txtusername").val()) + "&Sex=" + escape($("#txtsex").val())                + "&Address=" + escape($("#txtaddress").val()) + "&Brithday=" + $("#txtbrithday").val() + "&Phone="                + escape($("#txtphone").val()) + "&Remark=" + escape($("#txtremark").val()) + "&type=Update&" + Math.random(),                success: function (msg) {                    if (msg == "修改成功") {                        alert("修改成功!");                        Bind();                    }                    else {                        alert(msg);                    }                }            })        }

     

        </script>    </head>

     

     

    在<form>标签中代码如下:

     

        <form id="form1" runat="server">   

        <table width="100%">    <tr><td colspan="4"><div id="queryResult">                <asp:GridView ID="GridUser" runat="server" AutoGenerateColumns="False"                     DataKeyNames="UserID" Height="142px" Width="658px">                    <Columns>                        <asp:BoundField DataField="UserID" HeaderText="用户编号" />                        <asp:BoundField DataField="UserName" HeaderText="用户名"  />                        <asp:BoundField DataField="Sex" HeaderText="性别"/>                        <asp:BoundField DataField="Birthday" HeaderText="出生日期"  />                        <asp:BoundField DataField="Address" HeaderText="地址"   />                        <asp:BoundField DataField="Phone" HeaderText="电话"    />                        <asp:BoundField DataField="Remark" HeaderText="备注" />                        </Columns>                </asp:GridView>    </div></td></tr>        <tr><td>用户编号:</td><td>            <input id="txtuserid" type="text" /></td><td>用 户 名:</td><td>            <input id="txtusername" type="text" οnblur="check()" /><asp:Label ID="Label1"                 runat="server" ForeColor="Red"></asp:Label>            </td></tr>            <tr><td>性    别:</td><td>                <input id="txtsex" type="text" /></td><td>出生日期:</td><td>                <input id="txtbrithday" type="text" /></td></tr>                <tr><td>地    址:</td><td>                    <input id="txtaddress" type="text" /></td><td>电    话:</td><td>                    <input id="txtphone" type="text" /></td></tr>                    <tr><td>备    注:</td><td colspan="3">                        <textarea rows="" cols="" id="txtremark" name="S1"></textarea></td></tr>                        <tr><td></td><td>                            <input id="btnAdd" type="button"  value="添加" οnclick="Insert()"/>                             <input id="btnUpdate" type="button"  value="修改"  οnclick="Update()" />                             <input id="btnDelete" type="button" value="删除" οnclick="if(confirm('是否删除'))Delete()"/>                            </td><td></td><td>                            </td></tr>    </table>    </form>

     

     

    后台代码如下:

     

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using BLL;using System.IO;using Model;

    public partial class UserInfo : System.Web.UI.Page{    protected void Page_Load(object sender, EventArgs e)    {        if (Request.QueryString["type"] == "Bind")        {            Bind();        }        if (!IsPostBack)        {            GridUser.DataSource = BUser.SelectUser();            GridUser.DataBind();        }

            if (Request.QueryString["type"] == "Insert")        {            string str = Insert();            Response.Write(str);            Response.End();        }        if (Request.QueryString["type"] == "Delete")        {           string str= Delete();            Response.Write(str);            Response.End();        }        if (Request.QueryString["type"] == "Update")        {            string str = Update();            Response.Write(str);            Response.End();        }

        }

     

        //修改用户信息

        private string Update()    {        try        {            tb_user user = new tb_user();            user.UserID = Convert.ToInt32(Request.QueryString["UserID"]);            user.UserName = Request.QueryString["UserName"];            user.Sex = Request.QueryString["Sex"];            user.Remark = Request.QueryString["Remark"];            user.Phone = Request.QueryString["Phone"];            user.Birthday = Convert.ToDateTime(Request.QueryString["Brithday"].ToString());            user.Address = Request.QueryString["Address"];            BUser.UpdateUser(user);            return "修改成功";

            }        catch(Exception ex)        {            return ex.Message;        }    }

     

        //删除用户

        private string Delete()    {        try        {            tb_user user = new tb_user();            user.UserID =Convert.ToInt32(Request.QueryString["UserID"].ToString());            BUser.DeleteUser(user);            return "删除成功";        }        catch (Exception ex)        {            return ex.Message;        }        }

     

       //添加用户信息    private string Insert()    {        try        {            tb_user user = new tb_user();            user.UserName = Request.QueryString["UserName"];            user.Sex = Request.QueryString["Sex"];            user.Remark = Request.QueryString["Remark"];            user.Phone = Request.QueryString["Phone"];            user.Birthday = Convert.ToDateTime(Request.QueryString["Brithday"].ToString());            user.Address = Request.QueryString["Address"];            BUser.InserUser(user);            return "添加成功";

            }        catch (Exception ex)        {            return ex.Message;        }    }

     

        //无刷新绑定    private void Bind()    {        GridUser.DataSource = BUser.SelectUser();        GridUser.DataBind();

            StringWriter tw = new StringWriter();        Html32TextWriter writer = new Html32TextWriter(tw);        GridUser.RenderControl(writer);        writer.Close();        Response.Write(tw.ToString());        Response.End();

        }

        //重绘服务器控件一定一定要重写这个方法    public override void VerifyRenderingInServerForm(Control control)    {        //base.VerifyRenderingInServerForm(control);    }}


    最新回复(0)