Also habe ich die Datensouce entfernt und habe nur DataBind() dann meine Seite ist immer noch bläst und die Seite aktualisieren und nicht in einem Bearbeitungsmodus.Reagieren auf Button Events in Repeater ItemTemplate
was ich versuche zu tun ist, wenn der Benutzer auf Bearbeiten klicken, dann machen es Inline-Bearbeitung der Repeater-Zeile.
END UPDATE
OnItemCommand ich habe DataBind() hinzugefügt
rpt.DataSource = mydatasource;
rpt.DataBind();
, nachdem ich tun, dass meine Seite nicht im Bearbeitungsmodus befindet und es wegblasen und every wird aktualisiert i auf page_load haben
if (!IsPostBack)
{
rpt.DataSource = mydatasource;
rpt.DataBind();
}
Ende Update
Ich habe Repeater oft ohne Probleme verwendet, aber hier ist etwas los. Ich habe einen Repeater und ich bin zu dem Ereignis ItemDataBound abonnieren möchte, aber wenn ich auf die Schaltfläche klicken (das ist ein Linkbutton in meinem Repeater itemtemplate ist) es geht nicht an die ItemDataBound
<asp:Repeater ID="rpt" runat="server" OnItemCommand="rpt_OnItemCommand" OnItemDataBound="rpt_OnItemDataBound">
<ItemTemplate>
<li>
<asp:Label ID="Label" runat="server" />
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="edit" CommandArgument='<%# Eval("MyID") %>'
Text='<%# Eval("Title") %>' />
</li>
</ItemTemplate>
</asp:Repeater>
protected void rpt_OnItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "delete")
{
//Data.Contacts.RemoveAt(e.Item.ItemIndex);
}
else if (e.CommandName == "edit")
{
EditIndex = e.Item.ItemIndex;
}
else if (e.CommandName == "save")
{
//
}
}
protected void rpt_OnItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if (e.Item.ItemIndex == EditIndex)
{
// never come to this line.... after the user click on LinkButton
}
}
}
ich denke, du bist richtig und aber wenn ich die datenbank() habe meine seite aktualisieren und ich bin aus dem bearbeitungsmodus eines repter .. keine idee? –
Mehr zur Antwort hinzugefügt. – tclarkston
Ich habe meine Frage aktualisiert –