2011-10-18 16 views
1

OnCommand、CommandName、CommandArgumentの機能を追加するためにasp.netチェックボックスを追加または追加または拡張できるかどうかは疑問です。OnItemCommandイベントハンドラをASP.NET CheckBoxに追加または添付する

簡単に私はASPに追加したいです。 net CheckBox ButtonやLinkBut​​tonのようなOnCommandの機能があります。

Repeater ItemTemplateにチェックボックスを配置し、OnItemCommandハンドラのチェックボックスのクリックを処理したいとします。

答えて

1

私は簡単なトリックを使用して私の問題を解決しました。チェックボックスと目に見えないリンクボタンを使ってWebユーザーコントロールを作成しました。私の背後にあるコードで

<asp:CheckBox ID="cbSelector" runat="server" AutoPostBack="true" /> 
<asp:LinkButton ID="btnHiddenCheckBox" runat="server" Visible="false" CommandName="Select"></asp:LinkButton> 

いくつかのイベントハンドラを追加...

protected void Page_Load(object sender, EventArgs e) 
    { 
    cbSelector.CheckedChanged += new EventHandler(cbSelector_CheckedChanged); 
    } 

    void cbSelector_CheckedChanged(object sender, EventArgs e) 
    { 
     btnHiddenCheckBox.CommandName = "Select"; 
     btnHiddenCheckBox.CommandArgument = Convert.ToString(cbSelector.Checked); 
     ((IPostBackEventHandler)btnHiddenCheckBox).RaisePostBackEvent(null); 
    } 

と、プログラムでは、パラメータでClickイベントを上げ、それが動作します。

0

OnCheckChangedイベントを使用して同じことが達成できます。

あなたはCheckBoxためOnItemCommandを使用する方法の解決のために、このSO questionを参照してください、RepeaterItemは同じRepeaterItem代わり


のコントロールにアクセスできるようにすることです何かを見つけることができます。

Checkbox OnClick/ItemCommand in Repeater or DataList

+0

はい。私はOnCheckChangedイベントを知っていますが、RepeaterのOnItemCommandイベントハンドラにすべて配置したいと思います。 – Patrik

+0

既存の同様の質問へのリンクで私の答えを更新しました。これが役に立つかもしれません – Curt

0

私は全く別のものをお勧めします。JQueryを使って、これをA jaxを使用すると、ユーザーにスムーズな操作を提供できます。

ここステップバイステップで素晴らしい記事があります:ASP.Net CheckBox and JQuery

すべては、最近2011年にtrueにCheckBoxButtonAutoPostBackとのセットよりも優れている、2012すぐ;-)

+0

ありがとうございます。あなたのソリューションはOKですが、私の状況では私はサーバー側に固執します。複雑なリピーターのOnItemCommandで何かをする必要があります。 – Patrik

関連する問題