解析ASP。NET Mvc开发之删除修改数据

  

<强>

<强>

<强>

<强>

<强> <强>

上边博客介绍了ASP。净MVC使用英孚来查询数据和EF中DbQuery泛型对象对数据的延迟加载。今天我们就来看看我们怎么使用英孚来删除数据。

其实现在的网络开发通用的模式就是前端使用Js和JQuery来和后端进行数据交互。那么我们就在前端来加两个删除和更新的脚本。代码如下:

& lt; !——遍历操作方法设置给视讯系统的集合数据,生成HTML代码——比;   @foreach (BlogArticle在视讯系统(“DataList”)作为List)   {   & lt; tr>   & lt; td> @a.AId   & lt; td> @a.ATitle   & lt; td> @a.BlogArticleCate.Name   & lt; td> @a.Enumeration.e_cname   & lt; td> @a.AAddtime   & lt; ! - - - - - - - - - - - -为文章列表添加删除按钮- - - - - - - - - -→祝辞   & lt; td> & lt; a href=" javascript:德尔(@a.AId)”在删除& lt;/a> & lt;/td>   & lt;/tr>   }

然后为该按钮编写Js脚本函数,代码如下:

& lt;脚本type=" text/javascript祝辞   函数德尔(id) {   如果确认(“确定要删除么?”)){   & lt; !——这里配置当用户确定删除时,js让页面跳转到的url的地址——比;   窗口。位置="/home/del/" +身份证;   }   }   & lt;/script>


上面的Js代码的意思是,当用户点击删除按钮时,url跳转的地址是“/home/德尔”+ id


点击前的效果如下图,注意url地址是

解析ASP。净Mvc开发之删除修改数据


它代表的意思是,浏览器现根据路由,请求了控制器(控制器),控制器根据路由的配置,返回视图方法,然后试图再把Html、javascript等回传给浏览器。


点击删除按钮并确定,注意url地址是


说明我们配置的路由信息是“家庭/德尔”

所以我们在控制器的HomeController中添加一个德尔方法,来完成删除操作,代码如下:

首先我们先来看看Mvc默认的路由表配置,在App_Start文件夹下的RouteConfig。cs,代码如下:

//路由表配置   公开课RouteConfig   {      公共静态孔隙RegisterRoutes (RouteCollection路线)   {   routes.IgnoreRoute(“{资源}.axd/{* pathInfo} ");   routes.MapRoute (   名称:“默认”,   url:“{控制器}/{行动}/{id}”,   默认值:新{控制器=凹摇?action=爸甘?id=UrlParameter。可选}   );   }   }


默认的配置信息是违约:新{控制器=凹摇?action=爸甘?id=UrlParameter。可选}

特别注意的是id=UrlParameter。可选的是可选的。


所以我们应该在homeController。cs中创建一个del类型的行动方法,代码如下:

//删除文章   公共ActionResult德尔(int id)   {//操作数据库使用try…catch来捕捉异常   试一试   {//创建删除对象   BlogArticle artTicle=new BlogArticle ();   artTicle。援助=id;//将删除对象添加到英孚对象管理容器   db.BlogArticles.Attach (artTicle);//将对象包装类的状态标识为删除状态   db.BlogArticles.Remove (artTicle);//更新到数据库   db.SaveChanges ();//更新成功后,页面跳转到索引页面   返回RedirectToAction(“指数”,“家”);   }   捕获(异常交货)   {   返回RedirectToAction(“友好页面”);   }//返回视图();   }

这样就完成了数据的删除操作。


接下来我们就来完成修改的代码,我们先展示视图(视图)代码如下


& lt; !——生成一个表单,并且指明表单提交方法,和路由——比;   @using (Html。BeginForm(“修改”、“家”FormMethod.Post))   {   & lt;表id=皌bList”比;   & lt; tr>   & lt; td colspan=?”在修改@Html.HiddenFor (a=祝辞a.AId) & lt;/td>   & lt;/tr>   & lt; tr>   & lt; td>标题:& lt;/td>   @ * & lt; td> @Html.TextBox (“txtName”(对象)Model.ATitle) & lt;/td> * @   & lt; !——使用HtmlHelper的强类型方法直接从模型中根据ATitle属性生成文本框——比;   & lt; td> @Html.TextBoxFor(=祝辞a.ATitle) & lt;/td>   & lt;/tr>   & lt; tr>   & lt; td>分类:& lt;/td>   & lt; !——使用强类型方法生成下拉框,并自动根据模型属性里的ACate值设置下拉框的默认选中项——比;   & lt; td> @Html.DropDownListFor(=祝辞a.ACate, ViewBag。CateList IEnumerable

解析ASP。NET Mvc开发之删除修改数据