c#
  • javascript
  • asp.net
  • 2011-01-05 2 views 0 likes 
    0

    テンプレート内に2つのasp.netボタンがあります(展開と折りたたみ) 単純なクライアントサイドのJavaScript関数を実装して、折りたたみボタンを表示し、逆も同様です。ボタンを表示/非表示にする方法は、JavaScriptでテンプレートに含まれています

    <asp:Button ID="btnExpand" runat="server" CommandName="Expand" 
          CommandArgument='<%# Container.DataElement("Id")%>' Text="+" /> 
    
    <asp:Button ID="btnCollapse" runat="server" CommandName="Collapse" 
          CommandArgument='<%# Container.DataElement("Id")%>' Text="-" /> 
    

    私はOnClientClickイベントを試みたが、彼らは、テンプレートにいるとそのIDが生成されますので、私はjavasciptから送信者ボタンと第二ボタンを取得する方法を知りませんでした。

    また、サーバーの背後のコード(Visibleプロパティ)によって可視性を変更しようとしましたが、イベントハンドラがポストバック後に起動され、変更がクライアントに適用されないという問題があります。

    助けてください!

    申し訳ありませんが質問が愚かな場合、私はウェブ開発の新人です。

    ありがとうございます。

    答えて

    1

    使用のClientIDは次のように:あなたが非表示と表示テンプレートを実装している機能で

    <!-- Supposing you have the following button control --> 
    <asp:button id="myButton" runat="server" /> 
    
    <script type="text/javascript"> 
    
        var theID = '<%= myButton.ClientID %>'; 
    
        // Now do whatever you like with it. 
    
    </script> 
    
    +0

    リプレイに感謝しますが、私はコントロール内のテンプレート内のボタンを作成し、コントロール内の各アイテムに対してレンダリングされます。どちらがこのコードを返しますか? – Homam

    +0

    Hmmm。あなたの特定の要件が何であるかはわかりませんが、JavaScriptを使ってボタンを表示/非表示にすることを目的としている場合は、おそらくJavaScriptを使用して完全に行うことができます。つまり、すべてのボタンがjavascriptイベントをトリガーできれば、jQueryを使用して、対応する適切なボタンを取得し、それを切り替えることができます。 – Didaxis

    0

    $("#buttonID").hide();を置きます。

    0

    コードを配置する場所には注意してください。 htmlクライアントレンダラーがそのアイテムの作成を完了したことを確認する必要があります。

    関連する問題