datalist“里面”放UpdatePanalUpdatePanal里面放 子 datalist!点击子datalist里面的删除 触发itemCommond在UpdatePanal里面设置了触发器 为:
      <Triggers>
      <asp:AsyncPostBackTrigger ControlID="saysth" EventName="ItemCommand" />
       </Triggers>
saysth为子datalist    ID名;求问为什么点击删除后 子datalist中的信息   在数据库中删除了,客户端却不刷新!
怎么解决呢?

解决方案 »

  1.   

    请看代码!   
     protected void saysth_ItemCommand(object source, DataListCommandEventArgs e)
        {
            //
            //删子项
            int sod =int.Parse( e.CommandArgument.ToString());
            if (e.CommandName == "saysthshan")
            {
                DataList datalist = e.Item.FindControl("saysth") as DataList;
                int aa = (int)DataList1.DataKeys[e.Item.ItemIndex];
                SaywordManager.DeleteSaywordById(sod);
                IList<Sayword> say = SaywordManager.GetSaywordByBlogSid(aa);
                datalist.DataSource = say;
                datalist.DataBind();
            }
        }
      

  2.   

    如果datalist放在UpdatePanel里面,就是根本不应该设置
    <Triggers>
      <asp:AsyncPostBackTrigger ControlID="saysth" EventName="ItemCommand" />
    </Triggers>
    你需要的效果自然能实现,要明白AsyncPostBackTrigger是用来设置数据回送的触发事件的。
      

  3.   

    <UpdatePanel ID="UpdatePanel1" runat="server">
    .........................
    <Triggers>
      <asp:AsyncPostBackTrigger ControlID="btn1" EventName="Click" />
    </Triggers>
    </UpdatePanel>
    <asp:Button ID="btn1" runat="server></asp:Button>
    它的意义在于当按下button时,包含在UpdatePanel内的控件就实现部分页面的刷新<UpdatePanel ID="UpdatePanel1" runat="server">
    ...........
    <asp:Button ID="btn1" runat="server></asp:Button>
    </UpdatePanel>
    但如果控件本来就包含于UpdatePanel之内,那就无需再设置AsyncPostBackTrigger,当按下Button时,页面自动实现部分刷新。
      

  4.   

    触发了,只是没有刷新dataList罢了!