zoukankan      html  css  js  c++  java
  • Asp.Net MVC TryUpdateModel使用说明

    修改功能每个网站里都有,也有很多写法

    写法1:要修改的字段刚好等于表中的字段

         [HttpPost]
            [ValidateAntiForgeryToken]
            public ActionResult Edit(admin model)
            {
                if (ModelState.IsValid)
                {
                    adminBLL bll = new adminBLL();
                    bll.Update(model);
                    return RedirectToAction("Index");
                }
                return View(model);
            }

    写法2:只修改部分字段(表中有十几个字段)

         [HttpPost]
            [ValidateAntiForgeryToken]
            public ActionResult Edit(admin vmodel)
            {
                if (ModelState.IsValid)
                {
                    adminBLL bll = new adminBLL();
                    admin model = bll.Find(vmodel.ID);
                    model.name = vmodel.name;
                    model.password = vmodel.password;
                    bll.Update(model);
                    return RedirectToAction("Index");
                }
                return View(vmodel);
            }

    //如果要修改的字段多是话这些就很麻烦

    写法3:TryUpdateModel

         [HttpPost]
            [ValidateAntiForgeryToken]
            public ActionResult Edit(int id, FormCollection FromValue)
            {
                adminBLL bll = new adminBLL();
                admin model = bll.Find(id);
                if (TryUpdateModel(model, FromValue.AllKeys) && ModelState.IsValid)
                {
                    bll.Update(model);
                    return RedirectToAction("Index");
                }
                return View();
            }

    TryUpdateModel (model)默认将view页面上form表单中的字段与model字段匹配,如果相同则把表单中的值更新到model上

    利用 FormCollection 来接收 View 传来的资料来做字段更新,所以可以改成以下写法:

    TryUpdateModel(model, FromValue.AllKeys) && ModelState.IsValid

    还可以排除 FormCollection 来接收 View 传来的资料的某些字段

    TryUpdateModel(model, "", FromValue.AllKeys, new string[] { "字段1" })

    这样就可以排除“字段1”

  • 相关阅读:
    《2019年软件工程助教培训计划》
    地铁线路项目-结对编程
    预培训-个人项目(地铁线路规划)
    粗读《构建之法》后的问题
    netapp 修改IP地址
    jump server 2.6.1 安装与配置
    CCNA-实验1-Manage_IOS
    系统结构综合实践期末大作业 第22组
    2017级系统综合实践第7次实践作业 01组
    2017级系统综合实践第6次实践作业 01组
  • 原文地址:https://www.cnblogs.com/webapi/p/9527963.html
Copyright © 2011-2022 走看看