Formview 経由でデータベースにデータを挿入しようとしています:
<asp:FormView ID="FormView3" runat="server" DataSourceID="SqlDataSource2" RenderOuterTable="False"
DefaultMode="Insert">
<InsertItemTemplate>
Name:
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Name") %>'></asp:TextBox>
<br />
E-mail:
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Email") %>'></asp:TextBox>
<br />
Website:
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Website") %>'></asp:TextBox>
<br />
Comment:
<asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("Comment") %>'></asp:TextBox>
<br />
<asp:Button ID="postcomment" runat="server" Text="Button" OnClick="postcomment_Click" />
</InsertItemTemplate>
</asp:FormView>
挿入するボタンを作成しようとしましたが、ここに私のイベントがあります:
protected void postcomment_Click(object sender, EventArgs e)
{
FormView3.InsertItem(true);
}
しかし、これは何もしていないようです。私は何を間違っていますか?挿入/キャンセルを自動的に構築する他のデータバインドコントロールの経験しかありません。
編集:
これは、Jupaol のアドバイスに従った後の結果です。
<asp:FormView ID="FormView3" runat="server" DataSourceID="SqlDataSource4" RenderOuterTable="False" DefaultMode="Insert">
<InsertItemTemplate>
Name:
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Name") %>'></asp:TextBox>
<br />
E-mail:
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Email") %>'></asp:TextBox>
<br />
Website:
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Website") %>'></asp:TextBox>
<br />
Comment:
<asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("Comment") %>'></asp:TextBox>
<br />
pid:
<asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("PostId") %>'></asp:TextBox>
<br />
<asp:Button ID="postcomment" runat="server" Text="Button" CommandName="Insert" />
</InsertItemTemplate>
</asp:FormView>
SQL データソース:
<asp:SqlDataSource ID="SqlDataSource4" runat="server"
ConnectionString="<%$ ConnectionStrings:orangefreshConnectionString1 %>"
DeleteCommand="DELETE FROM [Comment] WHERE [Id] = @Id"
InsertCommand="INSERT INTO [Comment] ([Name], [Email], [Website], [Comment], [PostId]) VALUES (@Name, @Email, @Website, @Comment, @PostId)"
SelectCommand="SELECT [Name], [Email], [Website], [Comment], [PostId], [Id] FROM [Comment]"
UpdateCommand="UPDATE [Comment] SET [Name] = @Name, [Email] = @Email, [Website] = @Website, [Comment] = @Comment, [PostId] = @PostId WHERE [Id] = @Id">
それでも、挿入ボタンをクリックしても何も起こりません-ポストバックがあるようですが、テーブルにエントリが作成されません(ページに打ち込んだ値はまだテキストボックスにあります)