DetailsView.ItemInserted Event查找主键(DataKey)
本文关键字:DataKey ItemInserted Event 查找 DetailsView | 更新日期: 2023-09-27 18:00:24
net和C#4。
我有一个DetailsView Control
,我使用一些自定义逻辑进行数据绑定。
在DetailsView中输入数据时,我想使用Event "Inserted"
(或其他)从DetailsView获取最近插入的数据的主键(我想使用DataKey属性)。
不幸的是我做不到。
你知道如何使用DetailsView为正在插入的项目插入检索主键吗?
谢谢你的帮助!
首先,您的SQL语句需要返回SCOPE_IDENTITY()
。
其次,假设您使用的是ObjectDataSource
控件,在数据源控件的Inserted
事件中获取e.ReturnValue
,如下例所示:
protected void dsReferralInsert_Inserted(object sender, ObjectDataSourceStatusEventArgs e)
{
int intKey;
if (int.TryParse(e.ReturnValue, out intKey))
{
Response.Redirect("ReferralDetail.aspx?ReferralID=" + intKey.ToString());
}
}
此示例使用新的键值重定向到详细信息页面。
如果使用SqlDataSource
控件,则可以通过编程方式访问Output参数或ReturnValue参数,具体取决于编写SQL的方式。如果你告诉我你正在使用什么样的数据访问,我会举一个例子。
DetailsViewInsertedEventArgs.Values获取一个字典,其中包含插入记录的字段名称/值对。
void CustomerDetailsView_ItemInserted(Object sender,
DetailsViewInsertedEventArgs e)
{
var key = e.Values["Key"];
}