repeater编辑更新删除
<asp:Repeater id="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound" OnItemCommand="Repeater1_ItemCommand">
<ItemTemplate>
<asp:Panel ID="plItem" runat="server">
<tr>
<td><%# DataBinder.Eval(Container.DataItem,"ItemValue") %></td>
<td>
<asp:LinkButton runat="server" ID="lbtEdit" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id")%>'
CommandName="Edit" Text="编辑"></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtDelete" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id")%>'
CommandName="Delete" Text="删除"></asp:LinkButton>
</td>
</tr>
</asp:Panel>
<asp:Panel ID="plEdit" runat="server">
<tr>
<td><%# DataBinder.Eval(Container.DataItem,"userid") %></td>
<td><asp:TextBox ID="txtItemValue" Text='<%# DataBinder.Eval(Container.DataItem,"ItemValue") %>' runat="server"></asp:TextBox></td>
<td>
<asp:LinkButton runat="server" ID="lbtUpdate" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id")%>'
CommandName="Update" Text="更新"></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtCancel" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id")%>'
CommandName="Cancel" Text="取消"></asp:LinkButton>
</td>
</tr>
</asp:Panel>
</ItemTemplate>
</asp:Repeater>
public int id = 0;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
}
}
private void BindGrid()
{
//略
}
protected void Repeater1_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
//DataRowView rowv = (DataRowView)e.Item.DataItem;
string id = rowv["id"].ToString();
((Panel)e.Item.FindControl("plItem")).Visible = true;
((Panel)e.Item.FindControl("plEdit")).Visible = false;
}
}
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "Edit")
{
((Panel)e.Item.FindControl("plItem")).Visible = false;
((Panel)e.Item.FindControl("plEdit")).Visible = true;
}
else if (e.CommandName == "Cancel")
{
((Panel)e.Item.FindControl("plItem")).Visible = true;
((Panel)e.Item.FindControl("plEdit")).Visible = false;
}
else if (e.CommandName == "Update")
{
//Update.
string strItemValue = ((TextBox)this.rptUserList.Items[e.Item.ItemIndex].FindControl("txtItemValue")).Text.Trim();
decimal dItemValue = IS.Common.StrHelper.ToDecimal(strItemValue);
int ID = IS.Common.StrHelper.ToInt32(e.CommandArgument.ToString());
IS.Model.SiteBaseEMData model = new IS.Model.SiteBaseEMData();
IS.BLL.SiteBaseEMData bll = new IS.BLL.SiteBaseEMData();
model.ID = ID;
model.ItemValue = dItemValue;
bll.UpdateItemValue(model);
model = null;
}
else if (e.CommandName == "Delete")
{
//Delete.
}
BindGrid();
}