我正在使用gridview,并且内置的编辑按钮出现了一些问题。
gridview获得了3列标题,艺术家,流派,当编辑该类型时,ddl显示。
在我的grv_update事件中
protected void grv_Update(object sender, GridViewUpdateEventArgs e)
{
//get old and new values
var oldArtistName = e.OldValues["Artist"].ToString();
var oldTitle = e.OldValues["Title"].ToString();
var oldGenre = e.OldValues["Genre"].ToString();
int songId = Convert.ToInt16(e.Keys["ID"]);
var newArtistName = e.NewValues["Artist"].ToString().Trim();
var newTitle = e.NewValues["Title"].ToString().Trim();
var newGenre = e.NewValues["Genre"].ToString();
}
我能够检索已编辑行的旧值和新值。
我的问题是,如果我想将更改存储在我的数据库中,我需要genreId而不是类型(名称)。那么无论如何从我的sqldatasource检索genreId而不必连接到db?
我的select命令如下所示:
select tblSong.ID ,Title, Artist, Genre from tblSong JOIN tblArtist on ArtistId = tblArtist.ID
JOIN tblGenre on GenreId = tblGenre.ID;
感谢您的帮助!
答案 0 :(得分:0)
用户如何在GridView中指定流派? DropDownList?然后将ListItem的文本设置为GenreName,将值设置为GenreId。
如果您没有使用DropDownList,则需要向我们提供有关GridView的更多详细信息。