c# - DetailsView.ItemInserted 事件查找主键(DataKey)

标签 c# asp.net detailsview

网络和 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/

相关文章:

c# - 启动 Windows 服务时找不到 app.config

c# - Entity Framework 6 : Using interface as navigation properties possible?

asp.net - ASP.Net MVC 3 中的数据级别授权

c# - DetailsView 不会进入编辑模式

c# - 从反序列化的 Javascript 重命名属性

css - 如何垂直显示 GridView 标题文本?

c# - 如何防止在多个选项卡中共享用户定义的 session ?

api - 休息 API : fields of objects in a list of objects in response JSON

c# - 如何在 C# 中将查询字符串放入 ashx 文件