我想有可能使用户更改他的个人资料信息(除了用户ID,用户名和密码(密码在另一个视图改变))在我的方法用户配置的更改不会保存ASP.NET MVC
所以当我使它像
我得到一个错误店更新,插入或删除语句影响的行的意外数字(0)。从那以后,我已经冲浪的计算器,如果有人建议做另一种方式,所以我编辑我的SaveUser方法
public void SaveUser(UserProfile user)
{
var objectContext = ((System.Data.Entity.Infrastructure.IObjectContextAdapter
)context).ObjectContext;
try
{
objectContext.SaveChanges();
}
catch (OptimisticConcurrencyException)
{
objectContext.Refresh(RefreshMode.ClientWins, context.UserProfiles);
objectContext.SaveChanges();
}
}
这些变化后,我没有得到这个错误了,但是我的个人资料的细节也不会改变。
我HttpPost Edit方法(HTTPGET获取正确的信息)
[HttpPost]
public ActionResult Edit(UserProfile user)
{
if (ModelState.IsValid)
{
repository.SaveUser(user);
return View(user);
}
return View();
}
在我编辑观点我只有LabelFor的和EditorFor的一切(除身份证,用户名和密码),并提交按钮。
试图解决这一整天,还没有成功。
如果您的post方法中的用户对象没有设置Id,则模型绑定将不起作用(即没有任何内容会被更新)。 – dom
因此,我应该传递不是UserProfile对象,而是传递给它的Id,然后找到传递了Id的用户?或者我弄错了? – asdewka