Pregunta

Así que estuve dándole vueltas a este problema todo el día.Tengo un LinqDataSource que apunta a mi modelo y un GridView que lo consume.Cuando intento realizar una actualización en GridView, no actualiza la fuente de datos subyacente.Pensé que podría tener que ver con LinqDataSource, así que agregué SqlDataSource y sucede lo mismo.El aspx es el siguiente (la página de código subyacente está vacía):

  <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>

¿Qué diablos me estoy perdiendo aquí?Este problema me está volviendo loco.

¿Fue útil?

Solución 2

Resulta que teníamos una llamada a DataBind() en Page_Load de la página maestra del archivo aspx que probablemente causaba que el estado de GridView se descartara en cada carga de página.

Como nota: los parámetros de actualización para una consulta LINQ no son necesarios a menos que desee establecer un valor predeterminado no nulo.

Otros consejos

Le faltan las secciones <UpdateParameters> de sus DataSources.

LinqDataSource.UpdateParameters

SqlDataSource.UpdateParameters

Esta es una toma total en la oscuridad ya que no he usado ASP en absoluto.

Acabo de aprender XAML y WPF, que parecen ser muy similares a lo que publicaste anteriormente y sé que para algunos controles de UI necesitas especificar el modo de enlace bidireccional para obtener actualizaciones en ambas direcciones. .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top