当前位置:编程学习 > C#/ASP.NET >>

Repeater 中列表行的修改

<asp:Repeater ID ="Respeater1" runat="server" OnItemCommand="Respeater1_ItemCommand">
 <ItemTemplate>
 <tr>
 <td><%#Eval("id")%></td>
 <td><%#Eval("_IP") %></td>
 <td><%#Eval("_Port")%></td>
 <td><%#Eval("_WebSite")%></td>
 <td>
 
 <asp:Button ID="btnEdit" runat="server" Text="修改" CommandName="edit" CommandArgument='<%#Eval("id") %>' OnClientClick="return confirm('确定要修改站点信息吗?');"/>|<asp:Button ID="btnDel"
         runat="server" Text="删除"  CommandName="del" CommandArgument='<%#Eval("ID") %>' OnClientClick="return confirm('确定要删除站点信息吗?');"/></td>   
 </tr>
     
 </ItemTemplate> 
 </asp:Repeater>
当我点击修改按钮时,怎么让点击的那一栏实现修改功能,好像是在每个<td>中在加一个textbox控件,将他隐藏起来,<span>标签,在用js,这个怎么来实现? --------------------编程问答-------------------- 直接写 btnEdit的Command事件,在事件里
如下
 protected void Button1_Command(object sender, CommandEventArgs e)
 {
 string id= e.CommandArgument.ToString();//取到参数
}
然后取到你修改的文本框里的值,执行修改即可 --------------------编程问答--------------------
引用 1 楼 zhangyunhebei 的回复:
直接写 btnEdit的Command事件,在事件里
如下
 protected void Button1_Command(object sender, CommandEventArgs e)
 {
 string id= e.CommandArgument.ToString();//取到参数
}
然后取到你修改的文本框里的值,执行修改即可

好像不行 --------------------编程问答-------------------- 这个你不能用repeat控件了,要用gridview控件 --------------------编程问答-------------------- 用FromView吧,那个比较适合你
http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.formview(v=vs.80).aspx --------------------编程问答-------------------- FormView.. --------------------编程问答-------------------- 前台
<asp:Repeater ID="Repeater1" runat="server" 
            onitemcommand="Repeater1_ItemCommand">
            <ItemTemplate>
  <asp:Button ID="Button1" runat="server" Text="删除" CommandArgument='<%#Eval("ID") %>' CommandName="Delete" />

                <asp:Button ID="Button2" runat="server" Text="修改" CommandArgument='<%#Eval("ID") %>' CommandName="Update" />
            </ItemTemplate>
        </asp:Repeater>

后台
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
  {
  String str=e.CommandName.toString();
  if(str=="Delete"){
  //删除的操作
  //调用你写的删除方法进行删除
  }else if(str=="Update"){
  //修改操作
 //调用你写的修改方法进行修改
  }
}




--------------------编程问答--------------------
引用 6 楼 wxr0323 的回复:
前台

HTML code

<asp:Repeater ID="Repeater1" runat="server" 
            onitemcommand="Repeater1_ItemCommand">
            <ItemTemplate>
  <asp:Button ID="Button1" runat="server" Text="删除" Com……

这个都知道,我就是问怎么来实现,你给我这个,一点用都不起哦 --------------------编程问答-------------------- --------------------编程问答-------------------- 在ItemTemplate后面加上6L的那两个Button,在操作的时候获取CommandArgument就行了吧 --------------------编程问答-------------------- 用gridview吧 --------------------编程问答--------------------
引用 6 楼 wxr0323 的回复:
前台
HTML code
<asp:Repeater ID="Repeater1" runat="server" 
            onitemcommand="Repeater1_ItemCommand">
            <ItemTemplate>
  <asp:Button ID="Button1" runat="server" Text="删除" CommandAr……

正解 --------------------编程问答-------------------- 直接写在后台就可以了 --------------------编程问答--------------------
引用 6 楼 wxr0323 的回复:
前台
HTML code
<asp:Repeater ID="Repeater1" runat="server" 
            onitemcommand="Repeater1_ItemCommand">
            <ItemTemplate>
  <asp:Button ID="Button1" runat="server" Text="删除" CommandAr……


Mark 以后说不定有用呢  --------------------编程问答-------------------- 配置方法呀。控件都很方便 --------------------编程问答-------------------- 如果是当前行直接改为编辑状态,还是用gridview吧.repeater貌似也行,但需要在事件中做判断,麻烦. --------------------编程问答-------------------- - - 还是用gridview吧 --------------------编程问答-------------------- Repeater 控件是 asp.net 中高级数据绑定控件中最简单的一个,纯粹是简单模板驱动,根本不支持编辑功能,为什么不考虑使用 DataList?如果不是功能要求复杂,就不必用 GridView 了。DataList 一定能够满足你的要求。 --------------------编程问答-------------------- gridview最好实现的。 你一定要用Repeater只能重新加载Repeater输出你要的HTML,要不就是隐藏显示。
gridview其实就是隐藏显示了。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,