<强> 强>
<强> 强> 强>
<强> 强>
<强> 强>
<强> 强> <强> 强>
上边博客介绍了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地址是
它代表的意思是,浏览器现根据路由,请求了控制器(控制器),控制器根据路由的配置,返回视图方法,然后试图再把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开发之删除修改数据