データベースから情報を取り出して表示するリピータがあります。また私はそれの横にボタンがあり、ボタンをクリックすると、そのid
はデータベース(MS Access)から削除する必要があります。Ms-Accessからのアイテムをリピータで削除する
ASPXマークアップ:
<asp:Repeater ID="Repeater1" runat="server"
OnItemDataBound="Repeater1_ItemDataBound"
OnItemCommand="Repeater1_ItemCommand">
<ItemTemplate>
<asp:Label ID="id" runat="server" Text='<%# Eval("id")%>'></asp:Label>
<asp:Label ID="name" runat="server" Text='<%# Eval("name")%>'></asp:Label>
<asp:Button ID="btndelete" runat="server" Text="Delete" CommandName="deletethis"/>
<br /><br />
</ItemTemplate>
</asp:Repeater>
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
背後にあるコード:
(e.CommandName == "deletethis")
:
protected void Page_Load(object sender, EventArgs e)
{
string connString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|mydb.mdb";//location of db
OleDbConnection conn = new OleDbConnection(connString);
OleDbDataAdapter sda = new OleDbDataAdapter("SELECT * FROM users", conn);
DataTable dt = new DataTable();
sda.Fill(dt);
Repeater1.DataSource = dt;
Repeater1.DataBind();
}
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "deletethis")
{
// the program doesn't get here
string id = string.Empty;
Label lblid = new Label();
lblid = (Label)e.Item.FindControl("id");
id = lblid .Text;
Label2.Text = "Button is clicked on id "+ id;
}
else
{
// error
}
}
は、だから私はボタンをクリックしたときにされて何が起こるか、それは今までにこのラインに到達していません