如何在MVC页面用Ajax实现无刷新删除数据

如何在MVC页面用Ajax实现无刷新删除数据,第1张

页面delete("该行记录的主键")

delete中ajax调用后台delete方法

ajax调用成功,删掉数据,用jquery remove掉该行数据,搞定

function DeleteLog(id)

    {

       if(confirm("确定要删除吗?")){

        $.ajax({

            type: "GET",

            url: "../Default1/DeleteLog",

            data: { "id": id },

            dataType: "text",

            cache: false,

            success: function (data) {

                if (data == "1")

                {

                    $("#log tbody tr").each(function () {

                        var a = $(this).children()

                        if (a.eq(0).text() == id)

                        {

                            a.remove()

                            alert("删除成功!")

                        }

                    })

                }

               }

            }

这样可好?

1.创建项目:visual C# —>ASP.NET MVC 4 web应用程序 模板—>web api

2.注册路由:

路由表中的每一个条目都包含一个路由模板。这个Web API默认的路由模版是"api/{controller}/{id}"。在这个模版中,“api”是一个文字式路径片段,而{controller}和{id}则是占位符变量。

当Web API框架接收一个HTTP请求时,它会试图根据路由表中的一个路由模板来匹配其URI。如果无路由匹配,客户端会接收到一个404(未找到)错误。

3.linq to sql连接数据库

1.建立数据库建表

2.在models文件夹里面新建linq to sql类文件

3.工具->连接到数据库

4.将要用的表拖入设计区

5.获取数据库Getway。"linq to sql class"文件名+Datacontext实例化这个对象,数据表就会映射到一个集合属性中,personDataDataContext db = new personDataDataContext()

6.增删改查

增:

public Boolean Post([FromBody]UserInfo userInfo) {

personDataDataContext db = new personDataDataContext()

var s1 = new test2

{

UserName =userInfo.UserName, Id=userInfo.Id, Age=userInfo.Age

}

if (db.test2.SingleOrDefault<test2>(s =>s.Id == userInfo.Id) == null)

{

db.test2.InsertOnSubmit(s1)

db.SubmitChanges()

return true

} else {

return false

}

}

删:

public bool Delete(int id)

{

personDataDataContext db = new personDataDataContext()

var deleteperson = db.test2.SingleOrDefault<test2>(s =>s.Id == id)

if (deleteperson == null)

{

return false

} else {

db.test2.DeleteOnSubmit(deleteperson)

db.SubmitChanges()

return true

}

}

改:

public Boolean Put(int id, [FromBody]UserInfo userInfo)

{

personDataDataContext db = new personDataDataContext()

var editperson = db.test2.SingleOrDefault<test2>(s =>s.Id == userInfo.Id)

if (editperson == null)

{

return false

} else {

editperson.Age = userInfo.Age

editperson.UserName = userInfo.UserName

db.SubmitChanges()

return true

}

查:

public IEnumerable<test2>Get()

{

personDataDataContext db = new personDataDataContext()

var query = from s in db.test2

orderby s.UserName

select s

return query

}

// GET api/values/5

public string Get(int id)

{

return "value"

}

这里我新建了一个userinfo类

public class UserInfo { public string UserName { getset} public int Id { getset} public int Age { getset} }

用来接收前端页面ajax请求中的data数据,s =>s.Id == userInfo.Id是lamda表达式创建委托方法意思是在db.test2的person集合中查找某个person的Id与userinfo接收到的id相等的person对象


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6817779.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存