读书人

在后台获取前台Repeater里面的Button控

发布时间: 2012-04-22 18:34:46 作者: rapoo

在后台获取前台Repeater里面的Button控件
<asp:Repeater ID="Repeater1" runat="server" >
<ItemTemplate >
<fieldset >
<legend ><%#Container.ItemIndex +1 %>
</legend>
<table width="100%" align="center" >
<tr>
<td align="left" ><strong>留言者网名:</strong><%#Eval("name")%></td>
</tr>
<tr>
<td align="left"><strong>留言的内容:</strong><%#Eval("content")%></td>
</tr>
<tr>
<td align="right" ><strong>留言的时间:</strong><%#Eval("time")%></td>
</tr>
<tr>
<td align="left" >
<asp:Button ID="Btnup" runat="server" Text="往上移" />
<asp:Button ID="Btndown" runat="server" Text="往下移" />
<asp:Button ID="Btndelete" runat="server" Text="删除" />
</td>
</tr>
</table>
</fieldset>
</ItemTemplate>
</asp:Repeater>

如题:我现在要在后台编程中获取到 Btnup,Btndown,Btndelete这三个Button控件并对他们编辑让他们各自实现自己的功能,有什么方法简单又清楚的呢?求教啊

[解决办法]
Repeater加ItemCommmand事件 Button加CommandName属性和CommandArgument属性
调用如下

C# code
protected void RPTNewsClass_ItemCommand(object source, RepeaterCommandEventArgs e)    {        var result =new OperationResult<NewsClass>();//我自己的逻辑组件 不用管        if (e.CommandName == "Edit")//判断哪个按钮处罚的        {            result= this.Edit(e);        }        if (result.IsSuccess)        {            Utility.Alert(this.Page, "操作成功!");        }        else        {            Utility.Alert(this.Page, "操作失败!");        }    } private OperationResult<NewsClass> Edit(RepeaterCommandEventArgs e)    {        var service = ObjectFactory.GetInstance<NewsClassService>();        var tbName = e.Item.FindControl("TBName") as TextBox;//通过这句找控件        var ddlRootClass = e.Item.FindControl("DDLClass") as DropDownList;        var entity = new NewsClass()        {            Class_name = tbName.Text,            Class_belongto = Convert.ToInt32(ddlRootClass.SelectedValue),            Class_id = Convert.ToInt32(e.CommandArgument)        };        return service.Update(entity);    }
[解决办法]
主要是FindControl("txtSortID")这个方法

几个主要的数据绑定控件都差不多这样
[解决办法]
(Item.FindControl("ControlId") as controlType)...

去网上搜搜多的很
[解决办法]
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "UP")
{
//上移
}
else if (e.CommandName == "DOWN")
{
//下移
}
else if (e.CommandName == "DEL")
{
//删除
}
}

读书人网 >asp.net

热点推荐