2008-09-09 224 views
1

私はこの問題を一日中徹底的に打ち解けています。私は自分のモデルとそれを消費するGridViewを指すLinqDataSourceを持っています。 GridViewで更新を行うと、基になるデータソースは更新されません。私はそれがLinqDataSourceと関係があるかもしれないと思ったので、SqlDataSourceを追加しました。同じことが起こります。次のようにASPXは(コードビハインドページが空である)である:私は世界のGridViewは基になるデータソースを更新しません

<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][email protected] WHERE [LangID][email protected]"> 
    </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> 

何をしないのですか?この問題は私を狂ってしまう。

答えて

1

それは、我々は、おそらくGridViewコントロールの状態がオンに出放り込まさせたのaspxファイルのマスターページのPage_Loadの中にDataBind()の呼び出しを持っていたことが判明すべてのページが読み込まれます。

LINQクエリの更新パラメータは、null以外の既定値を設定しない限り、必須ではありません。

0

私はASPをまったく使用していないので、暗闇の中でのトータルショットです。

私はXAMLとWPFを学んでいます。これはあなたが上に投稿したものと非常によく似ていますが、いくつかのUIコントロールでは、取得するためにバインディングモードを双方向に指定する必要があることがわかります双方向で更新されます。

関連する問題