2012-03-15 7 views
0

後、私は(取り除か追加のコントロール付き)次のASPのマークアップを持っているASP.NETのWebフォームページに取り組んでいます:あなたはこのLinkBut​​tonコントロールの複数をクリックすると、今を無効にするLinkBut​​ton最初のクリック

<asp:UpdatePanel ID="updatePanel1" runat="server"> 
    <ContentTemplate> 
     <asp:LinkButton ID="lnkbtnPreviousTop" OnClick="LinkButtonPrevious_Click" 
      Text="Previous" runat="server"> 
     </asp:LinkButton> 
    </ContentTemplate> 
</asp:UpdatePanel> 

サーバー側のLinkButtonPrevious_Clickイベントハンドラは、リンクがクリックされた回数だけ起動します。最初のクリック後にlnkbtnPreviousTop LinkBut​​tonが無効になるようにするにはどうすればよいですか?ただし、イベントハンドラはまだ1回発生し、UpdatePanelは更新されますか?

this.disabled = true;をOnClick属性に追加しようとしましたが、イベントハンドラコードが決してヒットしません。

答えて

1

ちょうどのようなもの、onclickの中に直接ポストバックを呼び出します。代わりに無効にボタンを設定するので、

lnkbtnPreviousTop.Attributes.Add("onclick", "this.disabled=true;" + Page.ClientScript.GetPostBackEventReference(lnkbtnPreviousTop, "").ToString()); 
+1

か、あなたはそれが隠しにするために、ボタンのスタイルを変更することができます。 – javram

+0

私は提案したようにonclick属性を追加しようとしました。しかし、イベントハンドラは、クリックごとに2回発生するようになりました。私はこのアプローチを断念し、本質的にスタイルを操作するという2番目のアドバイスに従いました。 –

+0

Cool。それを聞いてうれしい助けた。 – javram

関連する問題