做asp.net有六年了,Repeater控件使用了无数次,但每次都是只做显示。

今天这个需要编辑和删除功能,google了一下。Repeater需要加OnItemDataBound事件。

OnItemCommand="Repeater1_ItemCommand"

1.删除功能和GridView控件差不多,前台一个Button,设置Button的

CommandArgument='<%# Eval("Id")%>' CommandName="Delete"

这里注意的一点是CommandArgument的值一定要用单引号,否则报错。

后台代码

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName == "Delete")
        {       
            this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "key", "alert('删除ID:" + e.CommandArgument + "');", true);
int id = Convert.ToInt32(e.CommandArgument);
// ...删除处理...
        }

BindGrid();
    }

2.对于编辑操作,有两种方法,第一是在前台Repeater的<ItemTemplate>看放置两个Panel,分别放显示和编辑的内容,用ItemDataBound来控制显示哪一个,按钮类似于删除按钮那样。

OnItemDataBound="Repeater1_ItemDataBound"
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 userid = rowv["userid"].ToString();

if (userid != id.ToString())
            {
                ((Panel)e.Item.FindControl("plItem")).Visible = true;
                ((Panel)e.Item.FindControl("plEdit")).Visible = false;
            }
            else
            {
                ((Panel)e.Item.FindControl("plItem")).Visible = false;
                ((Panel)e.Item.FindControl("plEdit")).Visible = true;
            }

}
    }

在ItemCommand方法中

View Code

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName == "Edit")
        {
            id = int.Parse(e.CommandArgument.ToString());
        }
        else if (e.CommandName == "Cancel")
        {
            id = -1;
        }
        else if (e.CommandName == "Update")
        {
            //Update.

string username = ((TextBox)this.Repeater1.Items[e.Item.ItemIndex].FindControl("UserName")).Text.Trim();

this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "key", "alert('更新ID:" + e.CommandArgument + ";页面值:姓名=" + username + "');", true);
        }
        else if (e.CommandName == "Delete")
        {
            //Delete.            
            this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "key", "alert('删除ID:" + e.CommandArgument + "');", true);
        }

BindGrid();
    }

另外一种编辑的方法是,点编辑按钮跳到新的页面去编辑,保存完再跳回来。我本人认为这种形式更好一些,我看了一些论坛或博客等基本都采用的这种方法。

转载于:https://www.cnblogs.com/ggooo/archive/2012/02/25/2368117.html

Repeater控件中如何做编辑和删除功能相关推荐

  1. 在 DataList 或 Repeater 控件中分页报表数据44

    简介 在在线应用程序中显示数据时,分页和排序是两个非常常见的功能.例如,在一个在线书店搜寻 ASP.NET 书籍时,可能会有数以百计种这样的图书,但在报表的每页只列出十个匹配的搜索结果.而且,搜索结果 ...

  2. 在 DataList 和 Repeater 控件中定制按钮46

    简介 在前面十七个DataList 控件和 Repeater 控件教程中,我们创建了一些只读示例和一些编辑和删除示例.要在 DataList 控件中方便地进行编辑和删除,我们为 DataList 控件 ...

  3. onmouseover和onmouseout在Repeater控件中应用

    如果你曾看过这篇,http://www.cnblogs.com/insus/articles/1411057.html ,它是在GridView控件中演示,但是它的方法在Repeater控件是无法复制 ...

  4. 改变Repeater控件中按钮颜色

    昨晚有在论坛看到一帖,手上的工作一直忙到现在,Insus.NET现在抽点时间尝试实现它. Insus.NET没有使用数据库作为数据源,而是使用List<T>作为数据源.因此你在这篇博文中学 ...

  5. 【VBA树控件学习四】编辑与删除TreeView节点

    遇见春天 HI,我是默默等你来点赞的edon,大家最近忙吗? 今天,我们接着来讲一下TreeView树控件.之前,我们已经把新增节点的功能讲完了,接下来我们来讲一下编辑功能与删除功能. 这里我们只修改 ...

  6. Repeater控件中添加删除修改按钮

    1: <asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%#Eva ...

  7. WebView控件中的javascript与Android本地功能交互

    http://www.it165.net/pro/html/201211/4255.html 转载于:https://blog.51cto.com/yerik/1166295

  8. repeater控件 php,Repeater控件实现编辑、更新、删除操作

    如何在Repeater控件中实现像GridView控件一样的编辑.更新.删除功能? 下面给出示例 vs.net2008(C#)下编写.来自 admin10000.com 后台.cs代码protecte ...

  9. 关于 Repeater 控件嵌套的使用。在嵌套中添加 其它控件(如:按钮),并影响其它控件的方法,很重要哦,测试通过。...

    这里的Repeater 嵌套,是指在 外层的Repeater的 ItemTemplate 中 又添加了一个 Repeater ,并且在两层的Repeater中都添加了一个Button控件.我们要实现两 ...

最新文章

  1. Go语言资源自动回收技术
  2. scipy 笔记:solve_triangular
  3. JavaScript学习笔记04【高级——DOM和事件的简单学习、BOM对象】
  4. 浅谈最小生成树的算法思路(二)Kruskal算法
  5. [LCP28] 采购方案
  6. HTML abbr元素
  7. 海兰一体计算机参数,海兰幽灵X7电竞一体机怎么样-海兰幽灵X7电竞一体机评测...
  8. 像excel一样规律填充(三)
  9. Android:ViewPager
  10. 最牛逼android上的图表库MpChart(二) 折线图
  11. C#正则表达式通过HTML提取网页中的图片src
  12. 一个简单的HTML网页 、个人主页网页设计(HTML+CSS)
  13. 六自由度机器人设计过程-范例
  14. 做教学直播时,如何做PPT课件直播?
  15. 十道解分式方程及答案_10道解分式方程练习题及答案.doc
  16. uniapp取消ios软键盘上白色导航条
  17. OpenSSL sm2 签名源码讲解
  18. 企立方:拼多多用客服机器人怎么样
  19. 深入理解javascript--javascript与DOM【1】mxx
  20. linux xargs

热门文章

  1. 西游记中猪八戒的身世
  2. Android EditText的属性详解以及EditText输入密码的格式限制
  3. 人脸检测需要的xml文件下载
  4. C++ 中 参数包 (typename ...) 学习笔记
  5. 小米路由器7000 docker怎么安装迅雷?
  6. js 异步循环使用递归
  7. pda扫描枪屏幕_PDA扫描枪方案
  8. 大数据告诉你,哪里才是中国最热的火炉城市
  9. 【头歌】——抓取 ARP 命令的包(计算机网络)
  10. C# DataGridView 使用