1

C#、.net 4.0 を使用しています。値を挿入するために使用している DetailsView があります。DetailsView は、DataSourceId プロパティを使用して EntityDataSource コントロールにデータ バインドされます。

EntityDataSource は、(EDMX ファイルを介して) Issues という名前の Sql Server 2008 データベース テーブルに接続しています。

挿入が行われた後、新しく挿入された行から一意の ID を見つける必要があります。SQL テーブルは UniqueIdentifier データ型を使用し、ID 列は「IssueId」と呼ばれます。

私はこれを試しました:

protected void DetailsView1_ItemInserted(object sender, DetailsViewInsertedEventArgs e)
{
    if (e.AffectedRows > 0)
    {
        int issueId = 0;
        int.TryParse(e.Values["IssueId"].ToString(), out issueId);
    }
}

ただし、「int.TryParse」と言う行に「オブジェクト参照がオブジェクトのインスタンスに設定されていません」と表示されます。

私が知る必要があるのは、挿入されたアイテムから一意の ID を取得する方法です。

4

1 に答える 1

3

それで、4か月後にこれに戻って...

DetailsViewのItemInsertedイベント中に一意のIDを取得できるとは思いません。代わりに、EntityDataSourceコントロールのInsertedイベントから取得する必要があります。

そのようです:

protected void edsIssues_Inserted(object sender, EntityDataSourceChangedEventArgs e)
{
        int issueId = 0;
        issueId = ((Model.Issue)e.Entity).IssueId;
}
于 2013-02-15T15:18:22.627 に答える