2011-10-26 11 views
0

私は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... 
     } 
    } 

誰かが私を助けることができますか?私はあなたのコードに気づい

答えて

0

まず最初は、せいぜい余計です(rptOrders_itemDataBound中)ライン

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

です。

私の理論では、削除ボタンを押したときに有効ではない、同じ検証グループ内のページに追加のコントロールがあるということです。しかしJavaScriptの部分では、ページの検証を無効にしているので、最初のクリックは飲み込まれますが、その後のクリックはすべて成功します。

異なる検証グループを使用する場合はうまくいくはずです。

+0

どのように私はそれを最初のクリックのために働かせることができますか? –

+0

私の答えに解決策を追加しました:) – saintedlama

+0

まだ動作しません><他のアイデア? –

関連する問題