网络和 C# 4。
我有一个 DetailsView 控件
,我使用一些自定义逻辑进行数据绑定(bind)。
在我的 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
控件,则可以通过编程方式访问输出参数或 ReturnValue 参数,具体取决于您编写 SQL 的方式。如果您向我说明您正在使用哪种数据访问方式,我将举一个例子。
关于c# - DetailsView.ItemInserted 事件查找主键(DataKey),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6453555/