MVC3学习 四 EF删除操作
由于EF的框架是4.1的,所以现在如果想更新部分字段的话,只能从数据库中查出一次数据(不用查的方法还没找到,需要继续研究),不能像5.1的版本可以不用查。
更新的Action需要用到[HttpGet]和[HttpPost],否则会不知道具体执行哪个方法。
代码
[HttpGet]public ActionResult Modify(int id){BlogArticle art = (from a in db.BlogArticles where a.AId == id select a).FirstOrDefault(); //第二种查询方式BlogArticle art1 = db.BlogArticles.Where(d => d.AId == id).FirstOrDefault();//查询分类list 先将分类表中数据查询出来,然后转换成list,然后在将这个list转换成IEnumerable类型的listIEnumerable<SelectListItem> list = (from c in db.BlogArticleCates where c.IsDel == false select c).ToList().Select(c=>new SelectListItem { Value = c.Id.ToString(), Text = c.Name });ViewBag.cateList = list;return View(art);}[HttpPost]public ActionResult Modify(BlogArticle model){try{BlogArticle cate = db.BlogArticles.Single(x => x.AId == model.AId);cate.ATitle = model.ATitle;cate.ACate = model.ACate;cate.AContent = model.AContent;db.SaveChanges();return RedirectToAction("Index", "Home");}catch (Exception ex){return Content("修改失败" + ex.ToString());}}
前台代码:
@model MvcBlog.Models.BlogArticle @using(Html.BeginForm("Modify","Home",FormMethod.Post)){<table><tr><td colspan=2>修改 @Html.HiddenFor(d=>d.AId)</td></tr><tr><td>标题</td><td>@Html.TextBoxFor(d=>d.ATitle)</td></tr><tr><td>内容</td><td>@Html.TextAreaFor(d=>d.AContent,10,20,null)</td></tr><tr><td>分类</td><td>@Html.DropDownListFor(a=>a.ACate,ViewBag.cateList as IEnumerable<SelectListItem>)</td></tr><tr><td colspan=2><input type="submit" value="保存" />@Html.ActionLink("返回","Index","Home")</td></tr></table>}
在Action中,可以直接使用return View(art)返回这个model到页面的构造函数中。在页面中用@model MvcBlog.Models.BlogArticle,来将传入的这个model
转换成指定类型,否则页面不知道model是哪种类型,转换之后,直接就可以用model使用这个对象了。
对于修改的分类字段,需要用下拉列表进行存放数据,所以需要在Action中查出一遍分类的数据,然后用ViewBag传到前台。
前台页面生成这些控件,一般都用代码直接生成,对比以前比较方便。
另外,Html.BeginForm,如果不在外层加using的话,将不会生成</form>的结束标记,所以需要注意,要用using,暂时
转载于:https://www.cnblogs.com/y8932809/p/4384085.html
MVC3学习 四 EF删除操作相关推荐
- Tensorflow学习四---高阶操作
Tensorflow学习四-高阶操作 Merge and split 1.tf.concat 拼接 a = tf.ones([4,32,8]) b = tf.ones([2,32,8]) print( ...
- HBase学习(四) HBase API操作
目录 准备工作 创建maven项目 添加依赖 API操作 创建HBase连接 创建HBase表 删除表 向表中插入数据 查看数据 过滤器操作 全部代码 注意事项 准备工作 创建maven项目 添加依赖 ...
- 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式
本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery ( ...
- 数据结构学习笔记:顺序表的删除操作及其演化题目总结
目录 前言 例题 类似题目1 类似题目2 类似题目3 类似题目4 类似题目5 结语 前言 文章代码皆在Dev-C++ 5.11中测试,主要是总结一些方法,从而总结一些规律使自己进一步地深化学习内容,仅 ...
- [jQuery学习系列四 ]4-Jquery学习四-事件操作
[jQuery学习系列四 ]4-Jquery学习四-事件操作 前言: 今天看知乎偶然看到中国有哪些类似于TED的节目, 回答中的一些推荐我给记录下来了, 顺便也在这里贴一下: 一席 云集 听道 推酷 ...
- [JSP暑假实训] 四.MyEclipse+Servlet+JSP实现火车票网站查询、修改、删除操作
本系列文章是作者暑假给学生进行实训分享的笔记,主要介绍MyEclipse环境下JSP网站开发,包括JAVA基础.网页布局.数据库基础.Servlet.前端后台数据库交互.DAO等知识. 前一篇文章讲解 ...
- 前端学习(2677):懂代码之表格BaseTable删除操作
1第一步 <el-table-column label="操作" width="180" align="center">< ...
- 双链表插入、删除操作单步解析(十四)
1.双链表定义 单链表只能向后操作,不能向前操作.双链表可以向前和向后操作. 双链表特点:以下图解释 一个前驱指针:ai的前驱指针,指向ai-1结点,即存放ai-1的地址. 数据域:存放数据 一个后驱 ...
- sharepoint 2016 学习系列篇(14)-自定义列表应用篇-(3)列表数据的新增,修改,删除操作
前面添加完列表的字段之后,接下来介绍列表数据的新增,修改,删除操作,不需要开发,就能实现数据的新增,修改,删除等操作. 重新返回到列表的http://192.168.1.73:7003/Lists/U ...
最新文章
- skiplist 跳表(1)
- 077_html5拖放
- Beautiful Soup的用法
- bash 的进站欢迎提示
- CentOS 6.4 卸载与安装桌面
- 对于0基础来说,Python 中有哪些难以理解的概念?我似乎明白了
- 牛客 - 17968 - xor序列 - 线性基
- 安卓应用安全指南 4.1.3 创建/使用活动 高级话题
- 7个碎片的excel重组实验
- 多元函数微分学(微积分)
- AI分析:微信热文有什么特点?兼谈中文分词算法
- 关于便携式打印机程序开发(一、原生安卓蓝牙调用)
- 借贷系统后台操作说明
- 新手如何进行PLC的远程上下载和编程调试?
- [转载]使用Java生成带有下划线字体的文字
- C++ :四种强制类型转换
- ESP32C3串口通信
- LOCAL_PRIVILEGED_MODULE 详解(1)
- 3GPP向ITU提交5G候选技术提案 NB-IoT确定为5G候选技术组成部分
- 需求管理之相关方分析
热门文章
- 新手怎么学以太坊区块链开发?
- 如何撰写将赢得客户青睐的自由职业者提案和免费模板
- 中超赛程来100wan点in_不干了:中超球队改名“硬重启”,球迷组织绝望解散
- UVa 167(八皇后)、POJ2258 The Settlers of Catan——记两个简单回溯搜索
- 项目总结10:通过反射解决springboot环境下从redis取缓存进行转换时出现ClassCastException异常问题...
- C#隐藏手机号中间四位为*
- Health Check in eShop -- 解析微软微服务架构Demo(五)
- 数据中心节能大法 —— 尽在上海11月中国数据中心展
- bzoj 1691: [Usaco2007 Dec]挑剔的美食家
- 解密FFmpeg播放track mode控制