MVC3.0 修改操作

转载 2013年12月02日 14:59:11

  #region 0.4 显示要修改的数据 +ActionResult Modify(int id)
        [HttpGet]   

public ActionResult Modify(int id)
        {
            //1.根据id 查询数据库,返回的集合中 拿到 第一个 实体对象
            BlogArticle art = (from a in db.BlogArticles where a.AId == idselect a).FirstOrDefault();
            //2.生成 文章分类 下拉框 列表集合  <option value="1">文本</option>
            IEnumerable<SelectListItem> listItem = (from c in db.BlogArticleCates
                                          where c.IsDel == false select c).ToList() //生成得一个集合

                                          .Select(c=> new SelectListItem { Value = c.Id.ToString(), Text = c.Name });//遍历集合生成SelectListItem 集合并返回给上面的集合
            //将生成的文章分类 下拉框选项集合 设置给 ViewBag
            ViewBag.CateList = listItem;
            
            //List<SelectListItem> list;


            //3.将 art 传递 给 视图显示
            //ViewBag
            //ViewData
            //* “加载”视图,使用View的构造函数,将 数据 传给 视图上的 名为 Model 的 属性
            return View(art);
        } 

   #region 0.5 执行修改 +ActionResult Modify(BlogArticle model)
        [HttpPost]
        /// <summary>
        /// 0.5 执行修改
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ActionResult Modify(BlogArticle model)
        {
            try
            {
                //1.将实体对象 a.加入 EF 对象容器中,并 b.获取 伪包装类对象
                DbEntityEntry<BlogArticle> entry = db.Entry<BlogArticle>(model);
                //2.将包装类对象的状态设置为 unchanged
                entry.State = System.Data.EntityState.Unchanged;
                //3.设置 被改变的属性
                entry.Property(a => a.ATitle).IsModified = true;
                entry.Property(a => a.AContent).IsModified = true;
                entry.Property(a => a.ACate).IsModified = true;


                //4.提交到数据库 完成修改
                db.SaveChanges();
                //5.更新成功,则命令浏览器 重定向 到 /Home/List 方法
                return RedirectToAction("Index", "Home");
            }
            catch (Exception ex)
            {
                return Content("修改失败~~~" + ex.Message);
            }
        } 
        #endregion

知识点生成表单。

@model MVCBlog.Models.BlogArticle
<!--指定页面Model 属性 的类型-->
@{
    Layout = null;
}

 @using (Html.BeginForm("Modify", "Home", FormMethod.Post))
 


        <table id="tbList">
            <tr>
                <td colspan="2">修改 @Html.HiddenFor(a=>a.AId) </td>
            </tr>
            <tr>
                <td>标题:</td>
                @*<td>@Html.TextBox("txtName",(object)Model.ATitle)</td>*@


                <!--使用HtmlHelper的强类型方法 直接 从 Model 中 根据 ATitle 属性生成文本框-->
                <td>@Html.TextBoxFor(a=>a.ATitle)</td>
            </tr>
            <tr>
                <td>分类:</td>
                <!--使用强类型方法生成下拉框,并自动根据 model属性里的ACate值 设置 下拉框的默认选中项-->
                <td>@Html.DropDownListFor(a=>a.ACate,ViewBag.CateList as IEnumerable<SelectListItem>)</td>
            </tr>
            <tr>
                <td>内容:</td>
                <!--使用HtmlHelper的强类型方法 直接 从 Model 中 根据 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>
    }

ASP.NET MVC3 实例(六) 增加、修改和删除操作(二)

上篇我们在 ASP.NET MVC3 中实现了添加操作,由于时间关系没有完成修改、删除操作,我们新建了一个名为"Contact"的 Controller,并实现了添加方法,下边就让我们在此基础上来完成...
  • w678528
  • w678528
  • 2012年07月21日 10:07
  • 1577

ASP.NET MVC3 实例(六) 增加、修改和删除操作(二)

上篇我们在 ASP.NET MVC3 中实现了添加操作,由于时间关系没有完成修改、删除操作,我们新建了一个名为"Contact"的 Controller,并实现了添加方法,下边就让我们在此基础上来完成...

关于SubSonic3.0插件使用Json反序列化获得的实体进行更新操作时,只能执行添加而不能执行修改(编辑)操作的处理

由于目前开发的项目使用云计算技术,客户端只进行UI与相关事件的功能开发,而所有的计算与处理都放到了服务器端,客户端与数据库没有任何关联,所以服务器端与客户端使用我们自己开发的通讯加密方式进行,而具体的...

Spring MVC 3.0 深入及对注解的详细讲解

核心原理 1.       用户发送请求给服务器。url:user.do 2.       服务器收到请求。发现Dispatchservlet可以处理。于是调用DispatchServlet。 ...
  • jzhf2012
  • jzhf2012
  • 2013年01月04日 11:33
  • 55093

spring3.0 mvc和rest风格的小例子配置demo代码教程

原文:spring3.0 mvc和rest风格的小例子配置demo代码教程 源代码下载地址:http://www.zuidaima.com/share/1826552160996352.ht...

Spring MVC 3.0 深入及对注解的详细讲解

核心原理 1.       用户发送请求给服务器。url:user.do 2.       服务器收到请求。发现Dispatchservlet可以处理。于是调用DispatchServle...

Spring MVC 3.0 深入及对注解的详细讲解

核心原理 1.       用户发送请求给服务器。url:user.do 2.       服务器收到请求。发现Dispatchservlet可以处理。于是调用DispatchServlet。 ...
  • yang_ai
  • yang_ai
  • 2016年08月09日 09:41
  • 228

ITOO---MVC3.0动态添加表格的行数并Controller中获取添加数据

最近由于项目的中的相关需求,需要在MVC的视图中动态的添加添加数据的行数,并将前台输入的多行数据在Controller中获得传回服务端。本文将介绍如何从MVC的View端动态添加数据行数并将输入的数据...

ASP.NET MVC 3.0前后台统一验证类UniValidate,附源码 转载

原文 http://www.cnblogs.com/ark/archive/2011/08/09/2132597.html MVC Model数据验证     MVC Model数据验证已...
  • phker
  • phker
  • 2015年03月05日 10:25
  • 550
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MVC3.0 修改操作
举报原因:
原因补充:

(最多只允许输入30个字)