如何解决DetailsView.ItemInserted事件找到主键DataKey
|| 网络和C#4。 我有一个DetailsView Control
,我使用一些自定义逻辑进行数据绑定。
在DetailsView中输入数据时,我想使用like1ѭ(或另一个)从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());
}
}
本示例使用新的键值重定向到详细信息页面。
如果使用的是“ 7”控件,则可以根据编写SQL的方式以编程方式访问Output参数或ReturnValue参数。如果您填写正在使用的数据访问类型,我将举一个例子。
, DetailsViewInsertedEventArgs.Values获取一个字典,其中包含插入记录的字段名称/值对。
void CustomerDetailsView_ItemInserted(Object sender,DetailsViewInsertedEventArgs e)
{
var key = e.Values[\"Key\"];
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。