2008-09-09 8 views
1

So habe ich den ganzen Tag auf dieses Problem geklopft. Ich habe eine LinqDataSource, die auf mein Modell zeigt und eine GridView, die es verbraucht. Wenn ich versuche, das GridView zu aktualisieren, wird die zugrunde liegende Datenquelle nicht aktualisiert. Ich dachte, es könnte mit der LinqDataSource zu tun haben, also habe ich eine SqlDataSource hinzugefügt und das gleiche passiert. Das aspx ist wie folgt (die Code-Behind-Seite ist leer):GridView wird die zugrunde liegende Datenquelle nicht aktualisieren

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
     ConnectionString="Data Source=devsql32;Initial Catalog=Steam;Persist Security Info=True;" 
     ProviderName="System.Data.SqlClient" 
     SelectCommand="SELECT [LangID], [Code], [Name] FROM [Languages]" UpdateCommand="UPDATE [Languages] SET [Code][email protected] WHERE [LangID][email protected]"> 
    </asp:SqlDataSource> 
    <asp:GridView ID="_languageGridView" runat="server" AllowPaging="True" 
     AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="LangId" 
     DataSourceID="SqlDataSource1"> 
     <Columns> 
      <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" /> 
      <asp:BoundField DataField="LangId" HeaderText="Id" ReadOnly="True" /> 
      <asp:BoundField DataField="Code" HeaderText="Code" /> 
      <asp:BoundField DataField="Name" HeaderText="Name" /> 
     </Columns> 
    </asp:GridView> 
    <asp:LinqDataSource ID="_languageDataSource" ContextTypeName="GeneseeSurvey.SteamDatabaseDataContext" runat="server" TableName="Languages" EnableInsert="True" EnableUpdate="true" EnableDelete="true"> 
</asp:LinqDataSource> 

Was in der Welt vermisse ich hier? Dieses Problem macht mich wahnsinnig.

Antwort

1

Es stellt sich heraus, dass wir in der Page_Load der Masterseite der aspx-Datei, die wahrscheinlich eine DataBind() -Aufruf hatte, war der Zustand des Gridview verursacht auf erhalten geworfen Jede Seite wird geladen.

Als eine Anmerkung - Update-Parameter für eine LINQ-Abfrage sind nicht erforderlich, es sei denn, Sie möchten einige Nicht-Null-Standard festlegen.

0

Dies ist ein totaler Schuss im Dunkeln, da ich ASP überhaupt nicht verwendet habe.

Ich habe gerade XAML und WPF gelernt, die sehr ähnlich zu dem, was Sie oben geschrieben haben, und ich weiß, dass für einige UI-Steuerelemente müssen Sie den Bindungsmodus zu Zwei-Wege zu bestimmen, um zu erhalten Aktualisierungen in beiden Richtungen.