2017-09-20 19 views
0

Webフォームにチェックボックスがあります。私は環境設定に基づいて2つのことを別々に行う必要があります。ASP.Netチェックボックス条件付き属性

  1. ラベルが

         <% if setting == true) { %> 
             <asp:CheckBox ID="optionCheckbox" class="option-checkbox radio-checkbox" runat="server" Text="Label Text"/> 
             <% } else { %> 
             <asp:CheckBox ID="optionCheckbox" class="option-checkbox" runat="server"/> 
             <% } %> 
    

を作成しますので、これに伴う問題は、IDが同じであるため、ページが表示されませんされているテキストの属性を追加し、クラス

  • を追加し、たとえ1つしかレンダリングできなくても。 javascriptなどでは他の処理がたくさんあるので、各シナリオごとに異なるIDが必要なわけではありません。

  • 答えて

    0

    "base"チェックボックスのコードを下にして、PreRenderイベントをオーバーライドしてクラスを追加し、そこにText属性を設定することで、これを解決できました。

    <asp:CheckBox ID="optionCheckbox" class="option-checkbox" runat="server"/> 
    

    背後にあるコード:

       CheckBox optionCheckbox = this.optionCheckbox as CheckBox; 
           if (optionCheckbox != null) 
           { 
            optionCheckbox.Text = "Label Text"; 
            optionCheckbox.Attributes.Add("class", "option-checkbox radio-checkbox"); 
           } 
    

    私はまだかかわらず、マークアップファイルでこれを行う方法があるかどうかを知りたいのです。

    0

    この構文については申し訳ありませんが、私はASPNet Webページを使用していません。 あなたは論理的にそれを実装することができます。..

    を第一に、クラスとテキスト変数やビジネスのための設定値を定義します。..

    Finalyこれはに似てcheckboxclass、変数

    var class = "option-checkbox"; 
    var text = ""; 
    if(setting == true) 
    { 
        class = "option-checkbox radio-checkbox"; 
        text = "Label Text"; 
    } 
    
    <asp:CheckBox ID="optionCheckbox" class="setClassProperty" runat="server" Text="SetTextProperty"/> 
    
    +0

    によってText値を設定したもの私はやってしまいましたが、書かれたとおりにはうまく動作しません。ありがとう、結構です。 – Nick

    関連する問題