asp.net-mvc – 使用Entity Framework在控制器中检测模型属性的状态更改
发布时间:2020-05-25 11:15:59 所属栏目: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 – 更改MVC帐户数据库中的DefaultConnection
- 高性能ASP.NET站点( 1000请求/秒)
- Asp.Net Identity – 登录后更新声明
- asp.net-mvc – 接受逗号和点作为小数分隔符[重复]
- asp.net-mvc – ASP.NET MVC 1和2在Mono 2.4与Fluent NHibe
- asp.net – 获取用户的IP地址
- ASP.NET MVC在IIS6上
- asp.net-mvc – 如何将ASP.net身份角色放入Identityserver4
- asp.net-mvc – 如何从MVC控制器返回Json对象到视图
- vbscript – 经典ASP 3.0从Recordset创建数组
推荐文章
站长推荐
- 如何在服务器上安装ASP.NET MVC 5?
- asp.net-mvc – MVC 5具有身份验证模式的外部身份
- ASP.NET为什么会话超时,sessionstate超时设置
- asp.net-mvc – SessionStateTempDataProvider要
- asp.net-mvc-3 – ASP.NET MVC 3,RavenDB和Autof
- ASP.NET MVC AJAX Sys是未定义的错误
- ASP.NET MVC是否使Web表单成为旧版平台?
- asp.net – 会话超时在IIS 7中如何工作?
- asp.net-mvc – VaryByParam =“*”是否也读取了
- asp.net-mvc-4 – 在一个StyleBundle中使用多个C
热点阅读
