Hej,
Jeg har forsøgt hele dagen, at få et eller andet til at virke, så jeg med
den linkbutton, der er i min repeater, at slette enkelte felter i en
database.
Min kode ser ud som følgende:
Sourcekoden:
asp:Repeater runat="server" id="repeaterVisAlle"
OnItemCommand="Repeater1_ItemCommand">
<HeaderTemplate>
<!-- bliver udskrevet en gang, før "listen" -->
<table width="100%" border="0" style="width: 240px">
</HeaderTemplate>
<itemTemplate>
<tr>
<td style="width: 100px; text-align: left; vertical-align: top;">
<i><%# DataBinder.Eval(Container.DataItem, "fornavn")%> <%#
DataBinder.Eval(Container.DataItem, "efternavn")%></i>
</td>
<td style="width: 150px; text-align: left;; vertical-align: top;">
<asp:LinkButton ID="lbtnDeleteUser" CausesValidation="true"
CommandName="DeleteUser" CommandArgument='<%#
DataBinder.Eval(Container.DataItem, "fornavn")%>' runat="server"
EnableViewState="true">Slet</asp:LinkButton>
</td>
</tr>
</itemTemplate>
<FooterTemplate>
<!-- Bliver udskrevet til sidst-->
</table>
</FooterTemplate>
</asp:Repeater>
Codebehind:
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs
e)
{
if (e.Item.ItemType == ListItemType.Item)
{
if (e.CommandName.Equals("DeleteUser"))
{
// Response.Write(e.CommandArgument.ToString());
// Slet brugeren her. Du har hans ID gennem CommandArgument.
string name = e.CommandArgument.ToString();
eksempler.SletBruger(name);
//Opretter ny instans af GetHentDataAlt fra Eksempler
DataTable visalle = eksempler.VisSletData();
repeaterVisAlle.DataSource = visalle;
repeaterVisAlle.DataBind();
//lblTest.Visible = true;
//lblTest.Text = name;
}
}
}
SletBruger codebehind:
//sletter i tabellen SletData
public void SletBruger(string fornavn)
{
command.CommandText = "DELETE fornavn, efternavn FROM SletData WHERE fornavn
= @fornavn";
command.Parameters.Clear();
command.Parameters.AddWithValue("@fornavn", fornavn);
command.ExecuteNonQuery();
}
Når jeg forsøger at køre ovennævnte, så sletter den fint den
valgte......nogen gange. Andre gange sletter den alle 3 på én
gang......Sletter jeg f.eks. den første, og så laver en F5 (Refresh af
siden) sletter den automatisk enten den næste, eller begge de resterende.
Nogen der kan hjælpe mig med, at lave det sådan, at når jeg trykker på
linkbutton udfor det navn, jeg vil have slettet, at den kun sletter den
pågældende og ikke andre?
mvh
simsen