0

私はasp.netの初心者です。データベースのデータを更新したい。しかし、何も起こりません。Google を使用したところ、問題は ObjectDataSource で解決できることがわかりましたが、よくわかりません。

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

1 に答える 1

0

ここで問題なく使用できSqlDatasource、気にする必要さえありません-あなたとあなたの列に をUpdateParameters追加するだけです:EditItemTemplateGridViewBind()

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

およびfalse に設定AutoGenerateEditButtonしたことに注意してください。trueAutoGenerateColumns

于 2012-05-14T10:25:53.407 に答える