asp.net-mvc – 使用Entity Framework在控制器中检测模型属性的
发布时间:2020-12-16 04:00:54 所属栏目:asp.Net 来源:网络整理
导读:我有一个或多或少的标准模型: public class Project { public int ID { get; set; } //... some more properties public DateTime StartDate { get; set; } public int Duration { get; set; }} 如果用户修改了StartDate或项目持续时间,我必须调用一个函数
我有一个或多或少的标准模型:
public class Project { public int ID { get; set; } //... some more properties public DateTime StartDate { get; set; } public int Duration { get; set; } } 如果用户修改了StartDate或项目持续时间,我必须调用一个函数来更新模拟.为了实现这一点,我想检测控制器中字段StartDate和Duration的状态变化. 像这样的东西: if(project.StartDate.stateChange() || project.Duration.stateChange()) 以下是Controller Method的示例: [HttpPost] public ActionResult Edit(Project project) { if (ModelState.IsValid) { if(project.StartDate.stateChange() || project.Duration.stateChange()) doSomething(); db.Entry(project).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } return View(project); } 任何想法,我怎样才能做到这一点? 解决方法
我相信你可以将编辑过的实体与从数据库中读取的原始实体进行比较.
就像是: public ActionResult Edit(Project project) { if (ModelState.IsValid) { var original = db.Find(project.ID); bool changed = original.StartDate != project.StartDate || original.Duration != project.Duration; if (changed) { original.StartDate = project.StartDate; original.Duration = project.Duration; doSomething(); db.Entry(original).CurrentValues.SetValues(project); db.SaveChanges(); } } return View(project); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 连接池的最大和最小大小是多少ADO.Net在连接字符
- asp.net – 有一个ClientScriptManager.RegisterClientScri
- asp.net – ASP和’不起作用
- asp.net-mvc – 在剃刀中循环MVC,生成的下拉列表未选中值
- asp.net – 我可以使用构造函数动态创建用户控件吗?
- asp.net-mvc – MvcSiteMap:未到达动态节点提供程序
- 常用正则表达式
- 在ASP.NET MVC中获取服务器机器名称?
- asp.net-mvc – 如何在ASP.NET MVC中生成完整的trace.axd?
- 如何在ASP.Net WebControl的“Content”内部属性??中包含其
推荐文章
站长推荐
- 我可以使用其他参数增加MVC Controller Action的
- 深入研究 Mini ASP.NET Core(迷你 ASP.NET Core
- asp.net-core – 从appsettings.json获取Connect
- asp.net – 我应该在我的HttpHandler中设置IsReu
- ASP.NET网页(WebMatrix)发布的jQuery帖子
- ASP.NET应用程序在3个物理层上
- asp.net – 为什么我的项目引用不被Visual Studi
- asp.net-core – 如何检索当前响应体长度?
- .net – REST API:与身体的GET请求
- asp.net – 有人有一种方法来保持页面呈现一旦一
热点阅读