2012-09-28 7 views
1

C#, .net 4.0을 사용하고 있습니다. 값을 삽입하는 데 사용하는 DetailsView가 있습니다. DetailsView는 DataSourceId 속성을 사용하여 EntityDataSource 컨트롤에 데이터 바인딩됩니다.EntityDataSource를 사용하여 DetailsView에 삽입 한 후 고유 ID 가져 오기

EntityDataSource가 Issues (EDMX 파일을 통해)라는 SQL Server 2008 데이터베이스 테이블에 연결 중입니다.

삽입이 발생한 후 새로 삽입 된 행에서 고유 ID를 찾아야합니다. sql 테이블은 UniqueIdentifier 데이터 형식을 사용하며 "IssueId"라는 id 열입니다.

나는 이것을 시도 :

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를 얻으려면 어떻게해야합니까?

답변

3

그래서, 다시이오고 나중에 4 달 ...

나는 당신이은 DetailsView에 ItemInserted 이벤트 기간 동안 고유 ID를 얻을 수 있다고 생각하지 않습니다. 대신 EntityDataSource 컨트롤의 Inserted 이벤트에서 가져와야합니다.

과 같이 :

protected void edsIssues_Inserted(object sender, EntityDataSourceChangedEventArgs e) 
{ 
     int issueId = 0; 
     issueId = ((Model.Issue)e.Entity).IssueId; 
} 
+0

감사합니다, 빠른 문제에 대한 참조 해결 –