想要用DataList来实现班级列表,每一记录包含编号,名称,删除按钮
代码如下:
<ItemTemplate>
<table>
<tr>
<td>班级编号:<a href='ShowClassInfo.aspx?ClassNO=<%# DataBinder.Eval(Container.DataItem,"ClassNO")%>'>
<%# DataBinder.Eval(Container.DataItem,"ClassNO")%>
</a></td>
</tr>
<tr>
<td width = 900>班级名称:<%# DataBinder.Eval(Container.DataItem,"ClassName")%></td>
</tr>
<tr><td>
<asp:Button ID = BtnDel Text = "删除" Runat ="server" ></asp:Button></td></tr>
</table>
</ItemTemplate>现在我想请问这个删除按钮的事件应写在何处才能按班级编号删除其内容?我的想法有两种:但是都不懂写清楚,请各位帮忙看看。
1.
<asp:Button ID = BtnDel Text = "删除" Runat ="server" onclick = <%DeleteClass('<DataBinder.Eval(Container.DataItem,"ClassNO"))%>')>%></asp:Button></td></tr>----这种写法不懂怎么写参数上面<%%>里的内容也是错的,请指证
然后在CS中写
public void DeleteClass(string classNO)
{}2.在Page_load事件中
Button btnDel = (Button)this.FindControl("BtnDel");//这样下来btn =null,怎么会找不到呢?
btnDel.Atrributes.Add("onClick","DelteteClass()");//这样写好像也错请指教。

解决方案 »

  1.   

    <asp:Button id=BtnDel runat="server" CommandName="delete" Text="删除" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ClassNO") %>'>
      

  2.   

    我也用datalist和button来操作,注意加个button的commandname,然后在datalist的itemcommand里面来进行处理,我为了处理方便直接把button的commandname设置成edit,然后在datalist的editcommand事件里面写点击按钮的代码,特别注意的是我把删除的id绑定在了button的tooltip上面
      

  3.   

    private void DataList1_EditCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
    {
    //链接查询
    LinkButton select =(LinkButton)e.Item.FindControl("btnSelect");
    string DeptType = select.ToolTip.Trim();
    int Index = DeptType.IndexOf("_");
    string DeptTypeId = DeptType.Substring(0,Index);
    Response.Redirect("DeptPhoneQuery.aspx?id="+DeptTypeId);
    //Redirect
    }