2012-05-12 15 views
0

私はasp.netの初心者です。私はデータベース内のデータを更新したいと思います。しかし、何も起こりません。私はgoogleを使用して、問題がObjectDataSourceによって解決できることを発見しましたが、わかりません。ItemTemplateのasp.netテキストボックス、更新sqldatasource

<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
    SelectCommand="SELECT * FROM [content]" UpdateCommand="UPDATE [content] SET [title] = @title, [article] = @article WHERE [id] = @id"> 
    <UpdateParameters> 
     <asp:ControlParameter ControlID="txtTitle" Name="title" Type="String" PropertyName="Text" /> 
     <asp:ControlParameter ControlID="txtArticle" Name="article" Type="String" PropertyName="Text" /> 
     <asp:Parameter Name="id" Type="Int32" /> 
    </UpdateParameters> 
</asp:SqlDataSource> 
<asp:DataList ID="DataList2" runat="server" DataKeyField="id" DataSourceID="SqlDataSource1"> 
    <ItemTemplate> 
     <asp:TextBox ID="txtTitle" runat="server" Text='<%# Eval("title") %>'></asp:TextBox><br> 
     <asp:TextBox ID="txtArticle" runat="server" Text='<%# Eval("article") %>'></asp:TextBox><br> 
     <asp:Button ID="Button1" runat="server" Text="go" /> 
    </ItemTemplate> 
</asp:DataList> 

答えて

0

についてUpdateParametersあなたがここで問題なくSqlDatasourceを使用することができますし、さらに気にする必要はありません - ちょうどあなたのGridViewBind()あなたの列にEditItemTemplateを追加します。

<asp:SqlDataSource ID="SqlDataSource2" runat="server" 
    ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
    SelectCommand="SELECT * FROM [content]" 
    UpdateCommand="UPDATE [content] SET [title] = @title, [article] = @article WHERE [id] = @id" /> 

<asp:DataList ID="DataList2" runat="server" 
    DataKeyField="id" DataSourceID="SqlDataSource1" 
    AutoGenerateColumns="false" AutoGenerateEditButton="true"> 

    <ItemTemplate> 
     <asp:Label ID="lblTitle" runat="server" Text='<%# Eval("title") %>' /><br/> 
     <asp:Lable ID="lblArticle" runat="server" Text='<%# Eval("article") %>' /><br/> 
    </ItemTemplate> 

    <EditItemTemplate> 
     <asp:TextBox ID="txtTitle" runat="server" Text='<%# Bind("title") %>' /><br/> 
     <asp:TextBox ID="txtArticle" runat="server" Text='<%# Bind("article") %>' /><br/> 
    </EditItemTemplate> 

注意をAutoGenerateEditButtontrueに、AutoGenerateColumnsをfalseに設定しました。

関連する問題