Asp.net 当runat=";时,JQuery Mobile将失去样式;服务器";已添加到控件中

Asp.net 当runat=";时,JQuery Mobile将失去样式;服务器";已添加到控件中,asp.net,css,jquery-mobile,runatserver,Asp.net,Css,Jquery Mobile,Runatserver,我试图实现JQuery Mobile checkbox,但它必须能够从服务器端访问 这是常见的JQM CKCKBOX: <input type="checkbox" name="chckTOC" id="chckTOCs" class="custom" /> <label for="chckTOCs">Include Table of Content</label> 包括目录 当我将runat=“server”属性添加到复选框时,它将丢失其样式 我尝

我试图实现JQuery Mobile checkbox,但它必须能够从服务器端访问

这是常见的JQM CKCKBOX:

<input type="checkbox" name="chckTOC" id="chckTOCs" class="custom" />
<label for="chckTOCs">Include Table of Content</label>

包括目录

当我将runat=“server”属性添加到复选框时,它将丢失其样式

我尝试过使用
,但仍然没有预期的JQM风格

如何使控制服务器可用并仍有待设计


已解决请参见答案

感谢我在评论部分找到原因的人。呈现时,复选框id从
chckTOC
更改为
cpmain\u chckTOC
,标签标签无效。我已经将标签标签更改为
,现在我得到了一个全新样式的复选框

我还设法避免了这个硬代码id->
,因为这将是一个问题,例如,如果您在APS中继器中有您的复选框,那么每个复选框id将不同,例如“cpmain\u repeaterid\u chckTOC\u 1”然后“cpmain\u repeaterid\u chckTOC\u 2”等等。在这种情况下,硬编码的身份证对你没有帮助

相反,我只使用了ASP.NET控件:

<asp:CheckBox runat="server" ID="chckSelectAll" CssClass="custom" />
<asp:label id="lblForChckAll" AssociatedControlID="chckSelectAll" runat="server" />

现在,结果正如预期的那样:


您是否在运行时使用javascript应用任何css类??不,我不这么认为。任何css都依赖于控件的id或名称?ASP.net在页面的输出html源代码中呈现复选框的是什么?我认为,如果看到输出的实际HTML,您可能很容易判断出问题所在。另外,关于CSS,通常ASP.NET控件有一个“CssClass”属性,而不是通常的“class”属性,但不确定这是否会有任何区别。
被呈现到
中,我总是添加一个类来用作jQuery选择器,正是为了避免这种行为。使用类是一种等待,但不是在这种情况下,因为我知道,
与一个ID相关联。请参阅我的编辑->我已经设法用简单的ASP.NET控件以更好的方式完成它。是的,我注意到了这一点。我只是尽量避免使用ID作为选择器,因为如果使用母版页,您可能最终不得不再次进行更改。这是一种痛苦。