GridView aktualisiert die zugrunde liegende Datenquelle nicht
-
09-06-2019 - |
Frage
Ich beschäftige mich also den ganzen Tag mit diesem Problem.Ich habe eine LinqDataSource, die auf mein Modell verweist, und eine GridView, die es nutzt.Wenn ich versuche, die 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 lautet wie folgt (die Code-Behind-Seite ist leer):
<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]=@Code WHERE [LangID]=@LangId">
</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 zum Teufel fehlt mir hier?Dieses Problem macht mich wahnsinnig.
Lösung 2
Es stellte sich heraus, dass wir im Page_Load der Masterseite der ASPX-Datei einen DataBind()-Aufruf hatten, der wahrscheinlich dazu führte, dass der Status der GridView bei jedem Seitenladen gelöscht wurde.
Hinweis: Aktualisierungsparameter für eine LINQ-Abfrage sind nicht erforderlich, es sei denn, Sie möchten sie auf einen Standardwert ungleich Null festlegen.
Andere Tipps
Ihnen fehlen die Abschnitte <UpdateParameters> Ihrer DataSources.
Dies ist ein völliger Versuch im Dunkeln, da ich ASP überhaupt nicht verwendet habe.
Ich habe gerade XAML und WPF gelernt, was dem, was Sie oben gepostet haben, sehr ähnlich zu sein scheint, und ich weiß, dass Sie für einige UI-Steuerelemente den Bindungsmodus auf „Zwei-Wege“ festlegen müssen, um Aktualisierungen in beide Richtungen zu erhalten .