2009-05-29 6 views
1

Ich möchte eine LinqDataSource mit einem Datensatz aktualisieren, der von einem anderen DataContext abgerufen wurde. Das Problem ist, dass der DataContext der LinqDataSource anscheinend nicht veröffentlicht wird, so dass ich nicht darauf zugreifen kann, um das neue Objekt an den Kontext der DataSource anzuhängen.LinqDataSource von separatem DataContext aktualisieren

Was ist der normale Weg, dies zu tun? Oder sollte ich nur die LinqDataSource verwerfen

Antwort

1

Gute Grund dafür - Sie können nicht Objekte über verschiedene DataContexte teilen.

Wenn Sie das LinqDataSource des OnContextCreating Ereignis verwenden, können Sie die richtige Instanz an die Datenquelle anhängen [dh das, was die zweite Einheit aus abgerufen wird], so sind sie beide aus dem gleichen Datacontext:

ASPX:

<asp:LinqDataSource .... OnContextCreating="GetDataContext" ... /> 

C#:

protected void GetDataContext(object sender, LinqDataSourceContextEventArgs e) 
{ 
    e.ObjectInstance = MyDataContext.Current; // assuming that Current is the ambient instance 
} 
Verwandte Themen