//
// GET: /StoreManager/Edit/5
public ActionResult Edit(int id)
{
var viewModel = new StoreManagerViewModel
{
Album = storeDB.Album.Single(a => a.AlbumId == id),
Genres = storeDB.Genre.ToList(),
Artists = storeDB.Artist.ToList()
};
return View(viewModel);
} //
// POST: /StoreManager/Edit/5 [HttpPost]
public ActionResult Edit(int id, FormCollection collection)
{
Album album = new Album ();
try
{
UpdateModel(album, "Album");
// TODO: Add Edit logic here
int a = storeDB.SaveChanges();
return RedirectToAction("Index");
}
catch
{
var viewModel = new StoreManagerViewModel
{
Album = album,
Genres = storeDB.Genre.ToList(),
Artists = storeDB.Artist.ToList()
};
return View(viewModel);
}
}
GET方法没问题,POST方法中storeDB.SaveChanges()执行成功,但是返回值为0.
也就是根本没有修改成功。求大神指点
解决方案 »
- 【200分求助】找个类似效果的FLASH
- ASPxTreeList
- 【200分】请大家继续帮助讨论ASP.NET用户权限认证授权问题
- TreeView赋值NavigateUrl,如何触发SelectedNodeChanged 事件?
- 一个包含DataGrid的用户控件能从不同的表中读数据吗?100分
- 请教用户控件中如何控制父页面上的DataDrid
- 请教/
- 泪求算法示例!!!
- 如何能修改<input type='file'>控件的那个'浏览'按钮文字
- ????????关于焦点的问题??????????????
- 【activereport】在WEB项目中,如何将CSV作为activereport的数据源?求助
- 关于ASP.NET 做 银联在线支付 的接口开发问题
Album = storeDB.Album.Single(a => a.AlbumId == id),
//Alubm.字段1='';
//Alubm.字段2='';
storeDB.SaveChanges();
我的代码也能获取到alubm对象。该对象有对应的值
注意在前台用个HIDDEN存储主键
//
// GET: /StoreManager/Create public ActionResult Create()
{
var viewModel = new StoreManagerViewModel
{
Album = new Album(),
Genres = storeDB.Genre.ToList(),
Artists = storeDB.Artist.ToList()
};
return View(viewModel);
} //
// POST: /StoreManager/Create [HttpPost]
public ActionResult Create(FormCollection collection)
{
Album album = new Album();
try
{
// TODO: Add insert logic here
UpdateModel(album, "Album");
storeDB.AddToAlbum(album);
storeDB.SaveChanges();
return RedirectToAction("Index");
}
catch
{
var viewModel = new StoreManagerViewModel
{
Album = new Album(),
Genres = storeDB.Genre.ToList(),
Artists = storeDB.Artist.ToList()
};
return View(viewModel);
}
}新增的代码没问题,证明数据库连接是正常的。
{
Wjy updateObject = _db.Wjy.First(c => c.id == wjy.id);
updateObject.name = wjy.name;
updateObject.re = wjy.re;
_db.SaveChanges();
}用我这种方法更新看看
链接是:http://www.cnblogs.com/wenming205/archive/2010/08/11/1797547.html
这个是第四章了,之前的代码上面有链接。
public ActionResult Edit(int id, Album album)
如果按照
Album album = new Album ();
UpdateModel(album, "Album")相当于新建一个Album,那UpdateModel更新给谁?
Album album = new Album ();
try
{
UpdateModel(album, "Album");
}这个地方Update的是一个New的Album。如果你加到Albums里了(storeDB.AddToAlbum(album);),这样就是新增加,否则,你保存怎么可能改变呢?
下面是我更改用户角色时,使用的
var album = this.storeDB.Albums.Find(id);
UpdateModel(album, "Album");
this.storeDB.SaveChanges();
Album album = new Album ();
try
{
// TODO: Add Edit logic here
album = this.storeDB.Album.Single(a => a.AlbumId == id);
UpdateModel(album, "Album");
this.storeDB.SaveChanges(); int count = storeDB.SaveChanges();
return RedirectToAction("Index");
}
catch
{
var viewModel = new StoreManagerViewModel
{
Album = album,
Genres = storeDB.Genre.ToList(),
Artists = storeDB.Artist.ToList()
};
return View(viewModel);
}语法有点问题,我改了。你的方法是对的。谢谢