使用Button从asp:Repeater中删除行

时间:2015-06-23 15:33:03

标签: c# asp.net callback datarepeater

我的第一个问题不是与家庭作业有关,feelgood.jpg

使用RavenDB的asp C#项目

我正在尝试使用行尾的此按钮从转发器中删除行:

<asp:Button ID="Delete" runat="server" Text="Delete" class="btn btn-danger" CommandName="Delete" CommandArgument='<%# Eval("PartNumber") %>'/>

使用此代码。我在if语句中放了一个断点,它从来没有像它根本没有进入这个函数那样。

 protected void repProducts_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName == "Delete") //breakpoint on this line
        {
            int partNum = Convert.ToInt32(e.CommandArgument);

            session.Delete(partNum); 
            session.SaveChanges();
        }
    }

我检查了控制台,我没有任何错误,只是警告;

不推荐使用主线程上的同步XMLHttpRequest 不推荐为同步请求设置“XMLHttpRequest.withCredentials”。

我不知道这些是否有用。有谁知道为什么我的帖子似乎永远不会出现这个功能?

1 个答案:

答案 0 :(得分:1)

我发现了这个问题,我忘了用“if(!isPostBack)”包装数据绑定

protected void Page_Load(object sender, EventArgs e)
    {
        List<Product> prods = session.Query<Product>().ToList();

        if(!IsPostBack)
        {
            repProducts.DataSource = prods;
            repProducts.DataBind();
        }
    }