校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > ASP.NET Mvc開發(fā)之刪除修改數(shù)據(jù)

ASP.NET Mvc開發(fā)之刪除修改數(shù)據(jù)

熱門標(biāo)簽:地圖標(biāo)注專業(yè)團(tuán)隊(duì) 濮陽(yáng)外呼電銷系統(tǒng)怎么樣 天心智能電銷機(jī)器人 塔城代理外呼系統(tǒng) 地圖定位圖標(biāo)標(biāo)注 400電話辦理哪家性價(jià)比高 地圖標(biāo)注的公司有哪些 遂寧市地圖標(biāo)注app 代理接電話機(jī)器人如何取消

之前那篇文章介紹了ASP.NET MVC使用EF來(lái)查詢數(shù)據(jù)和EF中DbQueryT>泛型對(duì)象對(duì)數(shù)據(jù)的延遲加載。今天我們就來(lái)看看我們?cè)趺词褂肊F來(lái)刪除數(shù)據(jù)。

其實(shí)現(xiàn)在的Web開發(fā)通用的模式就是前端使用Js和JQuery來(lái)和后端進(jìn)行數(shù)據(jù)交互。那么我們就在前端來(lái)加兩個(gè)刪除和更新的腳本。代碼如下:

       !--遍歷 Action方法 設(shè)置給 ViewData 的集合數(shù)據(jù),生成HTML代碼-->
      @foreach (BlogArticle a in ViewData["DataList"] as ListBlogArticle>)
      {
        tr>
          td>@a.AId/td>
          td>@a.ATitle/td>
          td>@a.BlogArticleCate.Name/td>
          td>@a.Enumeration.e_cname/td>
          td>@a.AAddtime/td>
          !---------為文章列表添加刪除按鈕--------->>
          td>a href="javascript:del(@a.AId)">刪除/a>/td>

        /tr>
      }

然后為該按鈕編寫Js腳本函數(shù),代碼如下:

script type="text/javascript">
    function del(id) {
      if (confirm("確定要?jiǎng)h除么?")) {

          !--這里配置當(dāng)用戶確定刪除時(shí),js讓頁(yè)面跳轉(zhuǎn)到的的url地址-->
        window.location="/home/del/"+ id;
      }
    }
  /script>

上面的Js代碼的意思是,當(dāng)用戶點(diǎn)擊刪除按鈕時(shí),url跳轉(zhuǎn)的地址是"/home/del"+id

 點(diǎn)擊前的效果如下圖,注意url地址是

它代表的意思是,瀏覽器現(xiàn)根據(jù)路由,請(qǐng)求了控制器(Controller),控制器根據(jù)路由的配置, 返回視圖方法,然后試圖再把Html,Js等回傳給瀏覽器。

點(diǎn)擊刪除按鈕并確定,注意url地址是

說(shuō)明我們配置的路由信息是“home/del”

所以我們?cè)诳刂破鞯腍omeController中添加一個(gè)del方法,來(lái)完成刪除操作,代碼如下:

首先我們先來(lái)看看MVC默認(rèn)的路由表配置,在App_Start文件夾下的RouteConfig.cs,代碼如下:

//路由表配置
  public class RouteConfig
  {
    
    public static void RegisterRoutes(RouteCollection routes)
    {
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

      routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
      );
    }
  }
 

我們可以發(fā)現(xiàn)ur的默認(rèn)配置模式是"{controller}/{action}/{id}"

默認(rèn)的配置信息是defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }

特別注意的是id = UrlParameter.Optional是可選的。

所以我們應(yīng)該在homeController.cs中創(chuàng)建一個(gè)del類型的Action方法,代碼如下:

 //刪除文章
    public ActionResult Del(int id)
    {
      //操作數(shù)據(jù)庫(kù)使用try...catch來(lái)捕捉異常
      try
      {
        //創(chuàng)建刪除對(duì)象
        BlogArticle artTicle = new BlogArticle();
        artTicle.AId = id;
        //將刪除對(duì)象添加到EF 對(duì)象管理容器
        db.BlogArticles.Attach(artTicle);
        //將對(duì)象包裝類的狀態(tài)標(biāo)識(shí)為刪除狀態(tài)
        db.BlogArticles.Remove(artTicle);
        //更新到數(shù)據(jù)庫(kù)
        db.SaveChanges();
        //更新成功后,頁(yè)面跳轉(zhuǎn)到Index頁(yè)面
        return RedirectToAction("Index", "Home");
      }
      catch (Exception ex)
      {
        return RedirectToAction("友好頁(yè)面");
      }
      //return View();
    }

這樣就完成了數(shù)據(jù)的刪除操作。

接下來(lái)我們就來(lái)完成修改的代碼,我們先展示視圖(View)代碼如下

 !--生成一個(gè)表單,并且指明表單提交方法,和路由-->
  @using (Html.BeginForm("Modify", "Home", FormMethod.Post))
  { 
    table id="tbList">
      tr>
        td colspan="2">修改 @Html.HiddenFor(a=>a.AId) /td>
      /tr>
      tr>
        td>標(biāo)題:/td>
        @*td>@Html.TextBox("txtName",(object)Model.ATitle)/td>*@

        !--使用HtmlHelper的強(qiáng)類型方法 直接 從 Model 中 根據(jù) ATitle 屬性生成文本框-->
        td>@Html.TextBoxFor(a=>a.ATitle)/td>
      /tr>
      tr>
        td>分類:/td>
        !--使用強(qiáng)類型方法生成下拉框,并自動(dòng)根據(jù) model屬性里的ACate值 設(shè)置 下拉框的默認(rèn)選中項(xiàng)-->
        td>@Html.DropDownListFor(a=>a.ACate,ViewBag.CateList as IEnumerableSelectListItem>)/td>
      /tr>
      tr>
        td>內(nèi)容:/td>
        !--使用HtmlHelper的強(qiáng)類型方法 直接 從 Model 中 根據(jù) AContent 屬性生成文本域-->
        td>@Html.TextAreaFor(a => a.AContent, 10, 60, null)/td>
      /tr>
      tr>
        td colspan="2">input type="submit" value="確定修改" /> @Html.ActionLink("返回","Index","Home")/td>
      /tr>
    /table>
  }

我們的后端代碼改如何編寫呢?

//因?yàn)槲覀冞@個(gè)Action是在表達(dá)以post方式提交時(shí)執(zhí)行的,所以加上標(biāo)識(shí)
    [HttpGet]
    /// summary>
    /// 加載需要修改文章
    /// /summary>
    /// param name="id">需要修改文章的Id/param>
    /// returns>/returns>
    public ActionResult EditArticle(int id)
    {
      //獲取需要編輯文章,并且返回該實(shí)體對(duì)象的第一個(gè)元素
      BlogArticle art = (from c in db.BlogArticles where c.AId == id select c).FirstOrDefault();
      
      //我們把文章的分類做成一個(gè)下拉列表,并且給DropList的option>賦值
      IEnumerableSelectListItem> seleListItem = (from a in db.BlogArticleCates where a.IsDel == false select a).ToList().Select(a => new SelectListItem { Value = a.Id.ToString(), Text = a.Name });

      //返回List對(duì)象
      ViewBag.CateList = seleListItem;

      return View();
    }
接下來(lái)就是執(zhí)行修改的代碼:
[HttpPost]
    /// summary>
    /// 執(zhí)行修改的代碼
    /// /summary>
    /// param name="model">/param>
    /// returns>/returns>
    public ActionResult Modify(BlogArticle model)
    {
      try
      {
        //1.將實(shí)體對(duì)象 a.加入 EF 對(duì)象容器中,并 b.獲取 偽包裝類對(duì)象
        DbEntityEntryBlogArticle> entry = db.EntryBlogArticle>(model);
        //2.將包裝類對(duì)象的狀態(tài)設(shè)置為 unchanged
        entry.State = System.Data.EntityState.Unchanged;
        //3.設(shè)置 被改變的屬性
        entry.Property(a => a.ATitle).IsModified = true;
        entry.Property(a => a.AContent).IsModified = true;
        entry.Property(a => a.ACate).IsModified = true;

        //4.提交到數(shù)據(jù)庫(kù) 完成修改
        db.SaveChanges();
        //5.更新成功,則命令瀏覽器 重定向 到 /Home/List 方法
        return RedirectToAction("Index", "Home");
      }
      catch (Exception ex)
      {
        return Content("修改失敗~~~" + ex.Message);
      }
    } 

到此我們就完成了使用MVC建立一個(gè)小站點(diǎn)的任務(wù),而且也完成了對(duì)數(shù)據(jù)的增刪改查的操作。

希望本文所述對(duì)大家學(xué)習(xí)有所幫助。

您可能感興趣的文章:
  • asp.net mvc 從數(shù)據(jù)庫(kù)中讀取圖片的實(shí)現(xiàn)代碼
  • asp.net mvc4 mysql制作簡(jiǎn)單分頁(yè)組件(部分視圖)
  • 利用ASP.NET MVC+EasyUI+SqlServer搭建企業(yè)開發(fā)框架
  • 使用jQuery向asp.net Mvc傳遞復(fù)雜json數(shù)據(jù)-ModelBinder篇
  • ASP.NET MVC DropDownList數(shù)據(jù)綁定及使用詳解
  • ASP.NET中MVC從后臺(tái)控制器傳遞數(shù)據(jù)到前臺(tái)視圖的方式
  • Asp.net mvc 數(shù)據(jù)調(diào)用示例代碼
  • ASP.NET MVC 數(shù)據(jù)驗(yàn)證及相關(guān)內(nèi)容
  • ASP.NET中MVC傳遞數(shù)據(jù)的幾種形式總結(jié)
  • ASP.NET Mvc開發(fā)之查詢數(shù)據(jù)
  • JQuery對(duì)ASP.NET MVC數(shù)據(jù)進(jìn)行更新刪除
  • asp.net實(shí)現(xiàn)的MVC跨數(shù)據(jù)庫(kù)多表聯(lián)合動(dòng)態(tài)條件查詢功能示例
  • ASP.NET MVC使用EPPlus,導(dǎo)出數(shù)據(jù)到Excel中

標(biāo)簽:麗江 吉林 汕頭 婁底 宜春 本溪 重慶 河南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET Mvc開發(fā)之刪除修改數(shù)據(jù)》,本文關(guān)鍵詞  ASP.NET,Mvc,開,發(fā)之,刪除,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET Mvc開發(fā)之刪除修改數(shù)據(jù)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于ASP.NET Mvc開發(fā)之刪除修改數(shù)據(jù)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产无一区二区| 久久综合成人精品亚洲另类欧美| 日韩和欧美的一区| 国产日韩欧美不卡| 欧美一区二区三区性视频| 福利电影一区二区| 奇米影视在线99精品| 亚洲欧美色综合| 欧美激情一区二区三区不卡| 欧美日韩久久一区二区| 成人国产免费视频| 国产精品一区二区三区99| 婷婷一区二区三区| 日韩美女视频一区| 亚洲国产精品国自产拍av| 精品少妇一区二区三区免费观看| 欧美性受xxxx黑人xyx性爽| eeuss鲁一区二区三区| 国产精品一卡二| 六月丁香婷婷久久| 日韩成人伦理电影在线观看| 亚洲无人区一区| 亚洲专区一二三| 亚洲国产中文字幕| 性久久久久久久| 日韩专区中文字幕一区二区| 亚洲一级二级三级| 亚洲香肠在线观看| 免费高清在线一区| 日本怡春院一区二区| 麻豆久久久久久久| 国产一区二区三区在线观看免费视频 | 91天堂素人约啪| 欧美伊人久久久久久久久影院 | 日本vs亚洲vs韩国一区三区| 日韩精品乱码免费| 久久午夜免费电影| 欧美日韩视频不卡| 成人av午夜影院| 91黄色小视频| 精品国产欧美一区二区| 久久久久久电影| 亚洲欧美精品午睡沙发| 亚洲第一福利视频在线| 激情深爱一区二区| 一本一道久久a久久精品| 91精品国产综合久久婷婷香蕉 | 92国产精品观看| 91精品国产麻豆| 国产欧美日韩精品一区| 亚洲成av人影院在线观看网| 国产一本一道久久香蕉| 色综合久久66| 国产精品日产欧美久久久久| 视频一区在线视频| 不卡欧美aaaaa| 精品美女一区二区| 日韩在线一区二区| 色域天天综合网| 国产精品麻豆欧美日韩ww| 毛片一区二区三区| 欧美日韩不卡在线| 一级精品视频在线观看宜春院 | 欧美精品久久99久久在免费线 | 午夜精品久久久久久久久| 不卡一二三区首页| 国产欧美久久久精品影院| 欧美a级理论片| 538在线一区二区精品国产| 中文字幕一区在线| 成人性色生活片| 欧美国产精品一区二区| 国产一区二区0| 国产午夜精品美女毛片视频| 激情五月婷婷综合| 国产午夜三级一区二区三| 国产成人综合精品三级| 国产日韩精品久久久| 国产精品一级片| 国产精品无码永久免费888| 国产成人aaaa| 亚洲麻豆国产自偷在线| 色婷婷激情久久| 日韩成人伦理电影在线观看| 欧美一区二区成人6969| 狠狠色丁香婷婷综合| 国产日韩欧美不卡| 一本久道中文字幕精品亚洲嫩| 一区二区三区四区激情| 欧美日韩国产乱码电影| 麻豆精品在线看| 国产精品视频一二三| 欧美主播一区二区三区| 天堂va蜜桃一区二区三区漫画版| aa级大片欧美| 美女视频免费一区| 中文在线免费一区三区高中清不卡| 91影视在线播放| 免费欧美高清视频| 亚洲三级免费观看| 欧美一级国产精品| 91网页版在线| 激情文学综合丁香| 亚洲成人在线观看视频| 国产亚洲精品资源在线26u| 精品视频在线视频| 成人高清视频在线观看| 久久国产精品色婷婷| 亚洲自拍偷拍九九九| 中文字幕的久久| 欧美一区二区三区人| 欧美无砖专区一中文字| 成a人片国产精品| 国产成人免费在线视频| 美女爽到高潮91| 亚洲风情在线资源站| 亚洲免费av高清| 国产日本亚洲高清| 国产午夜一区二区三区| 精品国产乱码久久久久久夜甘婷婷| 在线一区二区三区四区| 暴力调教一区二区三区| 丰满少妇久久久久久久| 久久激情五月激情| 久久精品国产久精国产| 三级一区在线视频先锋 | 97国产一区二区| 91同城在线观看| 欧美影院午夜播放| 欧美日韩激情一区| 99久久婷婷国产精品综合| 91麻豆精品国产91久久久资源速度| 伊人色综合久久天天人手人婷| 国产清纯美女被跳蛋高潮一区二区久久w| 欧美美女直播网站| 欧美一二三区在线观看| 久久综合色8888| 久久久精品黄色| 国产精品家庭影院| 亚洲精品高清在线| 日韩一区精品字幕| 久久99精品久久久久久国产越南 | 国产欧美精品一区二区色综合| 中文字幕亚洲在| 日韩国产精品大片| 国产高清无密码一区二区三区| 99天天综合性| 9191成人精品久久| 中文字幕av不卡| 亚洲电影欧美电影有声小说| 国产酒店精品激情| 91福利在线免费观看| 国产拍揄自揄精品视频麻豆 | 国产精品色呦呦| 午夜亚洲福利老司机| www.亚洲色图| 久久人人97超碰com| 午夜欧美一区二区三区在线播放| 国产在线播放一区三区四| 欧美色电影在线| 亚洲国产精品高清| 国内外成人在线视频| 欧美日韩国产高清一区二区三区| 亚洲国产精品成人综合| 蜜桃视频一区二区| 欧美精品乱码久久久久久| 18成人在线观看| 91一区一区三区| 国产精品久久99| 成人综合婷婷国产精品久久免费| 日韩欧美一级精品久久| 日韩精品色哟哟| 欧美精品777| 豆国产96在线|亚洲| 国产性天天综合网| 国产精品亚洲第一区在线暖暖韩国| 欧美日韩激情一区二区三区| 亚洲综合免费观看高清完整版在线| av电影在线观看一区| 国产精品视频观看| 97国产精品videossex| 椎名由奈av一区二区三区| 91麻豆精东视频| 免费观看成人av| 国产亚洲欧美一区在线观看| 国产成a人亚洲| 一区二区在线电影| 欧美精品久久一区二区三区| 六月丁香综合在线视频| 久久精品一区二区三区不卡牛牛 | 99精品视频中文字幕| 亚洲欧美电影一区二区| 欧美日韩专区在线| 天堂久久久久va久久久久| 精品欧美一区二区三区精品久久 | 欧美精品乱码久久久久久| 九九精品一区二区| 欧美韩日一区二区三区| 欧美中文字幕一区二区三区| 激情文学综合丁香|