• 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”

  • 相关阅读:
    博弈论专题(持续更新)
    数论专题(持续更新)
    树的遍历专题(持续更新)
    直线折线分割平面问题
    字典树模板 HDU1251
    差分数组——面对大数据的处理
    最短路——dijkstra算法
    并查集与最小生成树
    KMP的初步认识及题目分析
    Codeforces Round#636(Div.3) D题 差分数组
  • 原文地址:https://www.cnblogs.com/webapi/p/9527963.html
Copyright © 2020-2023  润新知