2

私は.netで構築されたWebサイトに取り組んでおり、マークアップをそのまま出力しようとしています...

<span class="check-input">
     <!-- Terms -->
     <input type="checkbox" id="terms" class="terms checkbox">
     <label for="terms">I agree to the terms and conditions</label>
     <input type="checkbox" id="age" class="age checkbox">
     <label for="age">I am over 18 years old</label>
     </span>

私の開発者が配置したコードのみが...

<!-- Terms -->
       <asp:CheckBox ID="CB_Agree" 
       Text="I agree to the terms and conditions" runat="server" TabIndex="4" />

       <asp:CheckBox ID="CB_Age" 
       Text="I am over 18 years old" runat="server" TabIndex="5" />

これは私のデータを次のように出力しています...

<span class="check-input">
<!-- Terms -->
<span class="terms checkbox">
    <input type="checkbox" tabindex="4" name="ctl00$ContentPlaceHolder1$CB_Agree" id="ctl00_ContentPlaceHolder1_CB_Agree">
    <label for="ctl00_ContentPlaceHolder1_CB_Agree">I agree to the terms and conditions</label>
</span>
<span class="age checkbox">
    <input type="checkbox" tabindex="5" name="ctl00$ContentPlaceHolder1$CB_Age" id="ctl00_ContentPlaceHolder1_CB_Age">
    <label for="ctl00_ContentPlaceHolder1_CB_Age">I am over 18 years old</label>
</span>
</span>
4

3 に答える 3

5

次に、あなた (または開発者) は、CssClassプロパティをチェックボックスに追加する必要があります。

例えば:

<asp:CheckBox ID="CB_Agree" 
       CssClass="terms checkbox"
       Text="I agree to the terms and conditions" runat="server" TabIndex="4" />

またInputAttributes、チェックボックスのレイアウトを制御する とLabelAttributesスパンのプロパティもあります。

したがって、たとえば、次の方法で分離コードに異なる背景色を適用できます。

CB_Agree.InputAttributes.CssStyle.Add("background-color", "Red");
CB_Agree.LabelAttributes.CssStyle.Add("background-color", "Green");
于 2012-05-14T14:32:16.927 に答える
1

名前の出力方法を制御することはできませんが、ID の出力方法は確実に制御できます。ClientIDMode ="Static"これを行う 1 つの方法は、次のようにマークアップのコントロールにを追加することです。

<asp:CheckBox ID="CB_Agree"  ClientIDMode ="Static"
   Text="I agree to the terms and conditions" runat="server" TabIndex="4" />

ティムは、あなたもスタイルに問題があることに気づきました。そのためには、次CssClass="your_class your_other_class"のように追加する必要があります。

<asp:CheckBox ID="CB_Agree"  ClientIDMode ="Static" CssClass="terms checkbox"
   Text="I agree to the terms and conditions" runat="server" TabIndex="4" />
于 2012-05-14T14:31:50.377 に答える
0

ASP.NET 4 Web フォームを使用したよりクリーンな HTML マークアップ - クライアント ID (VS 2010 および .NET 4.0 シリーズ)

を使用している場合は、値が のコントロールでClientIDModeASP.NET 4.0を使用でき、ID は変更されません。static

それ以外の場合は、リテラルを使用して要素自体またはその値のみを出力できます。あなたのページには次のものがあります:

<input type="hidden" id="ppID" value='<asp:Literal ID="ppIDValue" runat="server" />' />

css クラスをコントロールに適用するには、サーバー側コントロールのCssClassプロパティを次のように使用します。

 <asp:CheckBox ID="CB_Agree" 
       Text="I agree to the terms and conditions" runat="server" TabIndex="4"
       CssClass="terms checkbox"   />

参照: ASP.NET HtmlInputHidden コントロール - 名前の変更を停止しますか?

于 2012-05-14T14:37:43.607 に答える