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”
Asp.Net MVC TryUpdateModel使用说明的更多相关文章
- ASP.NET MVC @helper使用说明
简单的 @helper 方法应用场景 Razor中的@helper语法让您能够轻松创建可重用的方法,此方法可以在您的视图模板中封装输出功能.他们使代码能更好地重用,也使代码更具有可读性. 在我们定义@ ...
- ASP.NET MVC NonActionAttribute使用说明
默认情况下,MVC 框架将 controller 类的所有公共方法都视为操作方法. 如果您的 controller 类包含公共方法,并且您不希望它成为操作方法,则必须用 NonActionAttrib ...
- ASP.NET MVC TryUpdateModel 更新model
总结参考:原文地址http://www.it165.net/pro/html/201305/5724.html TryUpdateModel (model)默认将view页面上form表单中的字段与m ...
- Asp.Net MVC 模型(使用Entity Framework创建模型类) - Part.1
这篇教程的目的是解释在创建ASP.NET MVC应用程序时,如何使用Microsoft Entity Framework来创建数据访问类.这篇教程假设你事先对Microsoft Entity Fram ...
- Asp.Net MVC 模型(使用Entity Framework创建模型类)
这篇教程的目的是解释在创建ASP.NET MVC应用程序时,如何使用Microsoft Entity Framework来创建数据访问类.这篇教程假设你事先对Microsoft Entity Fram ...
- 转:ASP.NET MVC利用TryUpdateModel来做资料更新 (二)
前言 第一篇說明了 TryUpdateModel 的簡單的應用,除了可指定更新的欄位之外也可排除更新特定的欄位,而因為可搭配 Metadata 做欄位驗證為資料又做了一層把關,但在 ASP.NET M ...
- 转:ASP.NET MVC利用TryUpdateModel来做资料更新 (一)
前言有使用 ASP.NET MVC 的朋友们一定多多少少有听过 TryUpdateModel,之前就看了很多有关它的文章,但在专案实务上都未曾实际使用过,而 TryUpdateModel 不仅能利用 ...
- ASP.NET MVC 使用TryUpdateModel 更新的技巧
有使用 ASP.NET MVC 的朋友應該會對於 TryUpdateModel 有一定的認知,他不但可以利用 Metadata 來做欄位的驗證確保資料的正確性,也可以指定更新的條件以及不更新的條件來達 ...
- ASP.NET MVC系列:Model
1. Model任务 Model负责通过数据库.AD(Active Directory).Web Service及其他方式获取数据,以及将用户输入的数据保存到数据库.AD.Web Service等中. ...
随机推荐
- IDEA导入项目jar包红线, cannot resolve symbol xxxx问题
简单来说遇到的这种情况2种方式解决了, 不知道还有没有其他原因的. 1.reimport包 2.清缓存重启 针对1方法: a.确实不缺包: 可以先注释掉pom文件中的jar包, 此时idea会提示im ...
- 【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 ...
- 如何使用Git上传项目代码到github
这是我第一次应用git,以下仅供git的初学者参考. github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开.这对于一般人来说 ...
- linux达人养成计划学习笔记(二)—— 文件查找命令
一.locate命令 1.命令格式: locate 文件名 2.locate在后台数据库中按文件名搜索,速度快,locate命令所搜索的后台数据库 /var/lib/mlocate 3.后台数据库跟新 ...
- POJ 2976 Dropping tests (0/1分数规划)
Dropping tests Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4654 Accepted: 1587 De ...
- HTML <video> 标签
http://www.w3school.com.cn/tags/tag_video.asp <%@ Page Language="VB" AutoEventWireup=&q ...
- iOS Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'unable to
刚接触iOS,依照教程操作执行出现错误 Terminating app due to uncaught exception 'NSInternalInconsistencyException', re ...
- RecylerView 的使用方法
package com.cardvalue.sys.fragment; import android.content.Intent; import android.net.Uri; import an ...
- pyspark RandomForestRegressor 随机森林回归
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Fri Jun 8 09:27:08 2018 ...
- npm的影武者 —— Npx
npx github:https://github.com/zkat/npx 什么是Npx?它和npm是什么关系? 如果你把NPM升级到最新版本npm@5.2.0 ,它就会安装一个新的包npx $ n ...