Repeater 实现点击按钮添加删除行 Repeater 实现点击按钮添加删除行,当数据库没数据的时候,页面加载Repeater默认有一行,如图:后面有个添加删除按钮可以实现添加一行和删除一行,注意这个添加和删除行不需要和数据库交互,请高手帮忙 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 数据源中添加默认数据protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) { int id = Convert.ToInt32(e.CommandArgument); if (e.CommandName == "Delete") { } } 加FooterTemplate,里面加Panel,两个LinkButton,设置Panel的Visible为false,若没数据时Visible为true;html代码: ......... </ItemTemplate> <FooterTemplate> <asp:Panel ID="Panel1" runat="server" Visible="false"> <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Add">添加</asp:LinkButton> <asp:LinkButton ID="LinkButton2" runat="server" CommandName="Delete">删除</asp:LinkButton> </asp:Panel> </FooterTemplate> </asp:Repeater>c#代码 protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Footer) { if (Repeater1.Items.Count == 0)//没数据时Panel1的Visible为true { Panel pn = (Panel)e.Item.FindControl("Panel1"); pn.Visible = true; } } } protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Add") { //.......... } else if (e.CommandName == "Delete") { //......... } } 里面就是数据处理,删除嘛最好加个,这样把 if (Repeater1.Items[e.Item.ItemIndex].ItemType == ListItemType.Item || Repeater1.Items[e.Item.ItemIndex].ItemType == ListItemType.AlternatingItem) {...} 如上几位高手所说,在delete处理里面得到那一行的index,然后从repeater的数据源删除那行数据,再绑定。 ASP.NET子页面和父页面加载问题 asp.net视频播放只有声音没有图像 请问checkboxlist如何实现跨页取值 treeview如何不刷屏 [求助]中文乱码问题 大家讨论一下论坛的安全需要那些注意的问题? SQL Insert语句问题 dropdownlist中怎样让你选中的项显示在最上面???? runat="server"的控件怎样付值 最近才开始用C#编写网站程序,几个问题需要高手解答 我在本地iis配置的项目,为什么用localhost访问的时候会转到 关于GridView1_SelectedIndexChanged,索引超出范围。必须为非负值并小于集合大小。
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
int id = Convert.ToInt32(e.CommandArgument);
if (e.CommandName == "Delete")
{
}
}
若没数据时Visible为true;
html代码:
.........
</ItemTemplate>
<FooterTemplate>
<asp:Panel ID="Panel1" runat="server" Visible="false">
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Add">添加</asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CommandName="Delete">删除</asp:LinkButton>
</asp:Panel>
</FooterTemplate>
</asp:Repeater>
c#代码
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Footer)
{
if (Repeater1.Items.Count == 0)//没数据时Panel1的Visible为true
{
Panel pn = (Panel)e.Item.FindControl("Panel1");
pn.Visible = true;
}
}
}
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "Add")
{
//..........
}
else if (e.CommandName == "Delete")
{
//.........
}
}
最好加个,这样把
if (Repeater1.Items[e.Item.ItemIndex].ItemType == ListItemType.Item || Repeater1.Items[e.Item.ItemIndex].ItemType == ListItemType.AlternatingItem)
{
...}
在delete处理里面得到那一行的index,然后从repeater的数据源删除那行数据,再绑定。