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

写法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”

Asp.Net MVC TryUpdateModel使用说明的更多相关文章

  1. ASP.NET MVC @helper使用说明

    简单的 @helper 方法应用场景 Razor中的@helper语法让您能够轻松创建可重用的方法,此方法可以在您的视图模板中封装输出功能.他们使代码能更好地重用,也使代码更具有可读性. 在我们定义@ ...

  2. ASP.NET MVC NonActionAttribute使用说明

    默认情况下,MVC 框架将 controller 类的所有公共方法都视为操作方法. 如果您的 controller 类包含公共方法,并且您不希望它成为操作方法,则必须用 NonActionAttrib ...

  3. ASP.NET MVC TryUpdateModel 更新model

    总结参考:原文地址http://www.it165.net/pro/html/201305/5724.html TryUpdateModel (model)默认将view页面上form表单中的字段与m ...

  4. Asp.Net MVC 模型(使用Entity Framework创建模型类) - Part.1

    这篇教程的目的是解释在创建ASP.NET MVC应用程序时,如何使用Microsoft Entity Framework来创建数据访问类.这篇教程假设你事先对Microsoft Entity Fram ...

  5. Asp.Net MVC 模型(使用Entity Framework创建模型类)

    这篇教程的目的是解释在创建ASP.NET MVC应用程序时,如何使用Microsoft Entity Framework来创建数据访问类.这篇教程假设你事先对Microsoft Entity Fram ...

  6. 转:ASP.NET MVC利用TryUpdateModel来做资料更新 (二)

    前言 第一篇說明了 TryUpdateModel 的簡單的應用,除了可指定更新的欄位之外也可排除更新特定的欄位,而因為可搭配 Metadata 做欄位驗證為資料又做了一層把關,但在 ASP.NET M ...

  7. 转:ASP.NET MVC利用TryUpdateModel来做资料更新 (一)

    前言有使用 ASP.NET MVC 的朋友们一定多多少少有听过 TryUpdateModel,之前就看了很多有关它的文章,但在专案实务上都未曾实际使用过,而 TryUpdateModel 不仅能利用 ...

  8. ASP.NET MVC 使用TryUpdateModel 更新的技巧

    有使用 ASP.NET MVC 的朋友應該會對於 TryUpdateModel 有一定的認知,他不但可以利用 Metadata 來做欄位的驗證確保資料的正確性,也可以指定更新的條件以及不更新的條件來達 ...

  9. ASP.NET MVC系列:Model

    1. Model任务 Model负责通过数据库.AD(Active Directory).Web Service及其他方式获取数据,以及将用户输入的数据保存到数据库.AD.Web Service等中. ...

随机推荐

  1. IDEA导入项目jar包红线, cannot resolve symbol xxxx问题

    简单来说遇到的这种情况2种方式解决了, 不知道还有没有其他原因的. 1.reimport包 2.清缓存重启 针对1方法: a.确实不缺包: 可以先注释掉pom文件中的jar包, 此时idea会提示im ...

  2. 【DM】The PageRank Citation Ranking: Bringing Order to the Web - PageRank引用排名:将订单带到Web上

    [论文标题]The PageRank Citation Ranking: Bringing Order to the Web (1998) [论文作者]Larry Page [论文链接]Paper(1 ...

  3. 如何使用Git上传项目代码到github

    这是我第一次应用git,以下仅供git的初学者参考.     github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开.这对于一般人来说 ...

  4. linux达人养成计划学习笔记(二)—— 文件查找命令

    一.locate命令 1.命令格式: locate 文件名 2.locate在后台数据库中按文件名搜索,速度快,locate命令所搜索的后台数据库 /var/lib/mlocate 3.后台数据库跟新 ...

  5. POJ 2976 Dropping tests (0/1分数规划)

    Dropping tests Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4654   Accepted: 1587 De ...

  6. HTML <video> 标签

    http://www.w3school.com.cn/tags/tag_video.asp <%@ Page Language="VB" AutoEventWireup=&q ...

  7. iOS Terminating app due to uncaught exception &#39;NSInternalInconsistencyException&#39;, reason: &#39;unable to

    刚接触iOS,依照教程操作执行出现错误 Terminating app due to uncaught exception 'NSInternalInconsistencyException', re ...

  8. RecylerView 的使用方法

    package com.cardvalue.sys.fragment; import android.content.Intent; import android.net.Uri; import an ...

  9. pyspark RandomForestRegressor 随机森林回归

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Fri Jun 8 09:27:08 2018 ...

  10. npm的影武者 —— Npx

    npx github:https://github.com/zkat/npx 什么是Npx?它和npm是什么关系? 如果你把NPM升级到最新版本npm@5.2.0 ,它就会安装一个新的包npx $ n ...