【问题标题】:How could I get the new ID of an inserted record in ASP.NET DetailsView using LinqDataSource如何使用 LinqDataSource 在 ASP.NET DetailsView 中获取插入记录的新 ID
【发布时间】:2011-06-02 22:54:48
【问题描述】:

如果我通过覆盖插入语句来使用 SqlDataSource 并使用 @@IDENTITY 属性,我已经得到了答案,但是当我使用 LinqDataSource 时,我无法覆盖插入语句!

所以,问题是:

我正在使用 ASP.NET Webform、插入模式下的 DetailsViewControl 和 LinqDataSource。

我想检索插入记录的新 ID。最简单、最有效的方法是什么?

谢谢。

【问题讨论】:

    标签: c# asp.net data-binding detailsview


    【解决方案1】:

    使用LinqDataSource.Inserted Event

    来自 MSDN 的示例显示 newProduct.ProductID 是新 ID。

    protected void LinqDataSource_Inserted(object sender, LinqDataSourceStatusEventArgs e)
    {
        if (e.Exception == null)
        {
            Product newProduct = (Product)e.Result;
    
            // newProduct.ProductID is the new ID
        }
        else
        {
            // Some Exception - e.Exception.Message;
        }
    }
    

    【讨论】:

    • 我不想触发新查询来获取新 ID,我想覆盖 INSERT 语句或使用其他魔术工具!
    • 它没有触发新的查询。此事件在数据源上的插入语句执行后触发。
    • 啊哈,看起来很棒!谢谢@amit_g
    猜你喜欢
    • 2017-11-04
    • 1970-01-01
    • 2010-10-10
    • 2014-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-08
    相关资源
    最近更新 更多