我正在为用户开发一个网站,以便在其中动态添加控件。

问题是,在confirmBox出现之后,无论我单击什么(确定/取消)都没关系,它仍然会删除我的对象。

这就是我从codeBehind添加它们的方式:

aPanel.RegisterAction("DeleteStuff", "Delete object",
                            true, btnDeleteClick, null);


其中aPanel是ActionPanelDx

在此之后:

if (actionPanel["DeleteStuff"] != null)
    actionPanel["DeleteStuff"].ClientSideEvents.ItemClick =
    "function(s,e){return confirm('Are you sure you want to delete?')}";

protected void btnDelete_Click(object sender, MenuItemEventArgs e)
{
    //Im using self written classes for handlig SQL logic it looks like this:
    MySQLCommand commad = new MySQLCommand("delete_object");//procedure
    commad.MyParam.AddWithValue("@ob_id", ObjectID);
    commad.myExecuteNonQuery();
}


我在错误地使用JS函数吗?

最佳答案

现在,您的代码执行了什么操作,以便无论何时单击按钮(无关紧要)都删除对象。您需要做的是这样的:

protected void btnDelete_Click(object sender, MenuItemEventArgs e)
{
    if (e.item.name === "Yes")
    {
        MySQLCommand commad = new MySQLCommand("delete_object");//procedure
        commad.MyParam.AddWithValue("@ob_id", ObjectID);
        commad.myExecuteNonQuery();
    }
}


而不是e.item.name可能是e.item.text或类似的东西,如果不确定,可以放置一个断点或console.log来查看e属性中的内容。

关于javascript - 动态添加的按钮省略确认,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37882908/

10-12 12:28
查看更多