2

我正在使用.net 构建的网站上工作,我试图输出我的标记......

<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"到标记中的控件,如下所示:

<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 系列)

如果您使用,ASP.NET 4.0那么您可以在控件上使用值为 的ClientIDModestatic,并且 ID 不会更改。

否则,您可以使用文字来输出元素本身或仅输出其值。在您的页面上,您将拥有:

<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 回答