确认框第一次没有提交
本文关键字:提交 第一次 确认 | 更新日期: 2023-09-27 18:12:39
我使用c#,我有一个ImageButton在一个中继器。我希望这个按钮有一个确认框,然后触发中继器的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...
}
}
有人能帮我吗?
我在代码中注意到的第一件事是行(在rptOrders_itemDataBound)
LnkDelete.ID = Detail.OrderId.ToString();
是多余的
我的理论是,您在同一验证组中的页面上有其他控件,这些控件在按下删除按钮时无效。但是在javascript部分,你取消激活页面验证,所以第一次点击被吞噬,但任何进一步的点击都会成功。
所以如果你使用不同的验证组它应该工作得很好