GridView не будет обновлять основной источник данных - PullRequest
1 голос
/ 09 сентября 2008

Так что я весь день мучился с этой проблемой. У меня есть LinqDataSource, который указывает на мою модель, и GridView, который ее использует. Когда я пытаюсь обновить GridView, он не обновляет основной источник данных. Я подумал, что это может быть связано с LinqDataSource, поэтому я добавил SqlDataSource и происходит то же самое. Aspx выглядит следующим образом (страница с выделенным кодом пуста):

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

Что в мире мне здесь не хватает? Эта проблема сводит меня с ума.

Ответы [ 3 ]

2 голосов
/ 09 сентября 2008

Вам не хватает разделов ваших источников данных.

LinqDataSource.UpdateParameters

SqlDataSource.UpdateParameters

1 голос
/ 10 сентября 2008

Оказывается, у нас был вызов DataBind () в Page_Load главной страницы файла aspx, который, вероятно, вызывал сброс состояния GridView при каждой загрузке страницы.

Как примечание - параметры обновления для запроса LINQ не требуются, если вы не хотите установить для них ненулевое значение по умолчанию.

0 голосов
/ 09 сентября 2008

Это полный выстрел в темноте, так как я вообще не использовал ASP.

Я только что изучил XAML и WPF, которые, похоже, очень похожи на то, что вы опубликовали выше, и я знаю, что для некоторых элементов управления пользовательским интерфейсом вам нужно указать режим привязки для двусторонней связи, чтобы получать обновления в обе стороны.

...