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.

È stato utile?

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.

LinqDataSource.UpdateParameters

SqlDataSource.UpdateParameters

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top