GridView non aggiornare origine dati sottostante
-
09-06-2019 - |
Domanda
Quindi sono stato martellante su questo problema per tutto il giorno.Ho un LinqDataSource che punti al mio modello e un GridView che consuma.Quando provo a fare un aggiornamento sulla GridView, non aggiornare l'origine dati sottostante.Ho pensato che potrebbe avere a che fare con il LinqDataSource, così ho aggiunto un SqlDataSource e succede la stessa cosa.Aspx è come indicato di seguito (il code-behind della pagina è vuota):
<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>
Che cosa mi manca qui?Questo problema è driving me insane.
Soluzione 2
Si scopre che abbiamo avuto un DataBind() chiamata nel Page_Load della pagina master del file aspx che è stato probabilmente causato lo stato di GridView per avere gettato su ogni caricamento della pagina.
Come nota di aggiornamento dei parametri di una query LINQ non sono necessari a meno che non si desidera impostare alcuni non-null default.
Altri suggerimenti
Ti manca il <UpdateParameters> sezioni dei vostri Dati.
Questo è un totale salto nel buio visto che non ho usato l'ASP a tutti.
Ho appena apprendimento e XAML WPF, che sembra essere molto simile a quello che hai postato sopra e so che per alcuni controlli dell'interfaccia utente, è necessario specificare la modalità di sincronizzazione a due vie per ottenere aggiornamenti in entrambe le direzioni.