我正在使用C#,.net 4.0。 我有一个用于插入值的详细信息视图。 详细信息视图使用 DataSourceId 属性将数据绑定到 EntityDataSource 控件。
实体数据源正在连接到名为"问题"的 Sql Server 2008 数据库表(通过 EDMX 文件)。
插入后,我需要从新插入的行中找到唯一 id。 sql 表使用 UniqueIdentifier 数据类型,并且 id 列称为"IssueId"。
我试过这个:
protected void DetailsView1_ItemInserted(object sender, DetailsViewInsertedEventArgs e)
{
if (e.AffectedRows > 0)
{
int issueId = 0;
int.TryParse(e.Values["IssueId"].ToString(), out issueId);
}
}
但是,我在说"int.尝试解析"。
我需要知道的是,如何从刚刚插入的项目中获取唯一 ID?
所以,四个月后回到这个...
我认为您无法在详细信息视图上的 ItemInsert 事件期间获得唯一 ID。 相反,您必须从 EntityDataSource 控件上的 Insert 事件中获取它。
这样:
protected void edsIssues_Inserted(object sender, EntityDataSourceChangedEventArgs e)
{
int issueId = 0;
issueId = ((Model.Issue)e.Entity).IssueId;
}