【问题标题】:Confirm box does not submit the first time确认框第一次没有提交
【发布时间】:2011-10-26 09:56:57
【问题描述】:

我正在使用 C#,并且我在中继器中有一个 ImageButton。我希望这个按钮有一个确认框,然后触发repeater的itemCommand。

问题是您第一次单击它时未触发提交。在您单击它的其余时间都可以正常工作,但不是第一次。

aspx的代码:

<script type="text/javascript">
    function Doconfirm(message) {

        var proceed = confirm(message);
        if (proceed) {
            Page_ValidationActive = false;
        }
        return proceed;
    }
</script>

 <asp:Repeater ID="rptOrders" runat="server" OnItemDataBound="rptOrders_itemDataBound" OnItemCommand="rptOrders_ItemCommand">
    <ItemTemplate>
        <asp:ImageButton CausesValidation="false" ID="DeleteImageButton" runat="server" CommandName="Delete" Enabled = "false" ImageUrl="aux_images/bg-ie-select-width-13px.png"/>

    </ItemTemplate>

这背后的代码是:

 protected void rptOrders_itemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.DataItem != null)
        {
         //Some code...
         ImageButton LnkDelete = (ImageButton)e.Item.FindControl("DeleteImageButton");
                    LnkDelete.Enabled = true;
                    LnkDelete.OnClientClick = "return Doconfirm('" + this.GetLocalResourceObject("ConfirmText") + "');";
                    LnkDelete.ID = Detail.OrderId.ToString();
                    LnkDelete.CommandArgument = Detail.OrderId.ToString();
                    LnkDelete.CommandName = "Delete";
                }
            }
        }
    }

    protected void rptOrders_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName.Equals("Delete"))
        {
            //Some code...
        }
    }

有人可以帮帮我吗?

【问题讨论】:

    标签: c# javascript .net


    【解决方案1】:

    我在您的代码中注意到的第一件事是行(在 rptOrders_itemDataBound 中)

    LnkDelete.ID = Detail.OrderId.ToString();
    

    这充其量是多余的。

    我的理论是,您的页面上有其他控件在同一个验证组中,当按下删除按钮时这些控件无效。但是在 javascript 部分中,您正在停用页面验证,因此第一次点击被吞下,但任何进一步的点击都会成功。

    因此,如果您使用不同的验证组,它应该可以正常工作。

    【讨论】:

    • 为我的回答添加了解决方案:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-02
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    相关资源
    最近更新 更多