MVC 5 update不能修改

问题描述

publicclassAccount{[Key]publicintID{get;set;}[Index(IsUnique=true)][Required(ErrorMessage="请输入账号")][Display(Name="账号")][MaxLength(50)]publicstringLoginName{get;set;}[Required][DataType(DataType.Password)][Display(Name="密码")][MaxLength(50)]publicstringPassword{get;set;}[Required][Display(Name="级别")][ForeignKey("UserLevel_ID")]publicvirtualUserLevelUserLevel{get;set;}}publicclassUserLevel{[Key]publicintID{get;set;}[Index(IsUnique=true)][Required(ErrorMessage="选择级别")][Display(Name="级别")][MaxLength(50)]publicstringUserLevelName{get;set;}}

是model,下面是修改代码publicActionResultEdit(intid,FormCollectioncollection){var_oldAccount=db.Accounts.Include("UserLevel").Where(t=>id.Equals(id)).FirstOrDefault();if(_oldAccount==null)ModelState.AddModelError("","用户不存在");else{if(!_oldAccount.Password.Equals(collection["Password"]))_oldAccount.Password=UserFunction.MD5Encrypt(collection["Password"]);_oldAccount.TrueName=collection["TrueName"];_oldAccount.Email=collection["Email"];intuserLevelID=int.Parse(collection["UserLevel.ID"]);varu=db.UserLevels.Where(t=>t.ID.Equals(userLevelID)).FirstOrDefault();_oldAccount.UserLevel=u;//_oldAccount.UserLevel=db.UserLevels.Find(userLevelID);db.Accounts.Attach(_oldAccount);db.UserLevels.Attach(_oldAccount.UserLevel);db.Entry(_oldAccount).State=EntityState.Modified;db.Entry(_oldAccount.UserLevel).State=EntityState.Modified;//db.Entry(_oldAccount.UserLevel).State=EntityState.Modified;//varentry=db.Entry<Account>(_oldAccount);//entry.Property(a=>a.UserLevel).IsModified=true;intflag=db.SaveChanges();if(flag>0)returnRedirectToAction("List");elseModelState.AddModelError("","修改失败!");}varUserLevels=db.UserLevels.Where(t=>t.ID!=1).OrderBy(t=>t.ID).Select(t=>newSelectListItem{Text=t.UserLevelName,Value=t.ID.ToString(),Selected=t.ID.Equals(_oldAccount.UserLevel.ID)});ViewBag.UserLevels=UserLevels;returnView(_oldAccount);}

我试了很多方法,就是不能修改Userlevel的值,其他都能修改,求高手指点下啊

解决方案

解决方案二:
没人???》
解决方案三:
跪求高手指点下
解决方案四:
顶!d====
解决方案五:
没细看。你if(!_oldAccount.Password.Equals(collection["Password"]))_oldAccount.Password=UserFunction.MD5Encrypt(collection["Password"]);_oldAccount.TrueName=collection["TrueName"];_oldAccount.Email=collection["Email"];intuserLevelID=int.Parse(collection["UserLevel.ID"]);确定不需要大括号包起来?collection["UserLevel.ID"]断点出来的值时多少?
解决方案六:
这种事情,你自己下个断点,或者跟踪一下sql语句就行了,有多难?

时间: 2024-09-24 14:16:29

MVC 5 update不能修改的相关文章

mysql中update批量修改与替换语句

MySQL批量替换指定字段字符串语句 UPDATE 数据表名 SET 字段名 = replace(字段名, '要替换的字符串', '替换为') WHERE 设定条件; 例子  代码如下 复制代码 UPDATE `cdb_name` SET `field_name` = replace (`field_name`,'from_str','to_str') 说明: cdb_name -- 该字符或字符串所在表的名字 field_name -- 该字符或字符串所在字段的字段名 from_str --

ASP.NET Mvc开发之删除修改数据_实用技巧

之前那篇文章介绍了ASP.NET MVC使用EF来查询数据和EF中DbQuery<T>泛型对象对数据的延迟加载.今天我们就来看看我们怎么使用EF来删除数据. 其实现在的Web开发通用的模式就是前端使用Js和JQuery来和后端进行数据交互.那么我们就在前端来加两个删除和更新的脚本.代码如下: <!--遍历 Action方法 设置给 ViewData 的集合数据,生成HTML代码--> @foreach (BlogArticle a in ViewData["DataLis

求助!!ASP.NET MVC上传并修改图片报错

问题描述 我用代码优先方法和脚手架创建了Create,Index,Edit,等视图,Edit的控制器代码是这样的Index和Edit页面运行之后显示是这样的但是当我在Edit修改相应信息和图片后点Save程序却报错,求助,要怎么改代码?拜托了 解决方案 解决方案二: 某个字段验证失败了?解决方案三: 写个trycatch可好解决方案四: 我修改了Edit页面表头的代码在运行就不报错了,但是修改了以后原来的那个数据还在,变成新添加了一个,而不是修改.解决方案五: 怎么样才能让原来那个消去呢

JSP MVC模式(JSP + JavaBean +Servlet)实现分页的源代码

问题描述 能够贴出来的更好,谢了 解决方案 解决方案二:<%@pagelanguage="java"contentType="text/html;charset=GB18030"import="java.util.*"pageEncoding="GB18030"%><%@pageimport="com.xlh.userDao.*"%><%@pageimport="co

Android下载管理DownloadManager功能扩展和bug修改

本文主要介绍如何修改Android系统下载管理,以支持更多的功能及部分bug修改和如何编译生效.目前内容包括暂停下载.继续下载.通知设置NotiExtra和NotiClass.wifi切换到3g自动暂停.Bug修改. 更多下载相关开源项目可见 Android 下载. PS: 很多童鞋不是自己做rom,所以就算修改了系统源码编译出来的包在其他系统上也不通用 这里推荐DownloadProvider@Github(并不是我的开源项目,我的项目为TrineaAndroidCommon@Github,包

Ajax实现网易相册样式的修改

ajax 普通的ajax应用,结合javascript对html元素的动态操控,结合而成一个优美的效果. 还是用Ajax.net,设置与前篇文章一样,不再累述.代码如下:163photoTest.aspx.csusing System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI

我用JS+Cookie编写的购物车,(添加、修改过程在客户端执行,一次提交服务器,IE适用),请大家指正(二)

cookie|js|服务器|购物车|过程|客户端|执行 二.js函数:orderform_functions.js //Vampirebat,2002-1-16;http://www.vampirebat.org //<--Start--从cookie中读出订单数据的函数function ReadOrderForm(name){    var cookieString=document.cookie;    if (cookieString=="")    {        re

2015 最简单的 Spring MVC 入门教程

2015 最简单的 Spring MVC 入门教程 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Simplest Spring MVC Hello World Example / Tutor

数据-关于sql语句update的问题

问题描述 关于sql语句update的问题 从一个表中查询两条数据,如果一个为4一个为3,把他们全部修改为3,可否实现? 解决方案 可以,update 表 set 字段=3 where 条件 不管有几条记录,以及字段原来是什么,所有满足条件的都修改为3 解决方案二: 什么意思?直接update不就行了?还是说不知道最小值是多少?那就在update里面加一个子查询 解决方案三: 可以,update 表 set 字段=3 where 1,就是把数据表中的所有数据的该字段更新为3 解决方案四: 可以,