【发布时间】:2011-07-12 15:35:05
【问题描述】:
当我在 ASP.net 中生成我的控件时,它们会如下所示:
<div id="ctl00_mainContent_ApprovalSelectPanel" class="discussWrapper">
<span class="cbox highlighted"><input id="ctl00_mainContent_ctl00" type="checkbox" name="ctl00$mainContent$ctl00" checked="checked" value="70" /><label for="ctl00_mainContent_ctl00">Buyer1</label></span><span class="cbox"><input id="ctl00_mainContent_ctl01" type="checkbox" name="ctl00$mainContent$ctl01" value="75" /><label for="ctl00_mainContent_ctl01">Buyer2</label></span><span class="cbox"><input id="ctl00_mainContent_ctl02" type="checkbox" name="ctl00$mainContent$ctl02" value="280" /><label for="ctl00_mainContent_ctl02">Client3</label></span><span class="cbox"><input id="ctl00_mainContent_ctl03" type="checkbox" name="ctl00$mainContent$ctl03" value="281" /><label for="ctl00_mainContent_ctl03">Client4</label></span><span class="cbox"><input id="ctl00_mainContent_ctl04" type="checkbox" name="ctl00$mainContent$ctl04" value="283" /><label for="ctl00_mainContent_ctl04">Client2</label></span><span class="cbox"><input id="ctl00_mainContent_ctl05" type="checkbox" name="ctl00$mainContent$ctl05" value="289" /><label for="ctl00_mainContent_ctl05">Client1</label></span><span class="cbox"><input id="ctl00_mainContent_ctl06" type="checkbox" name="ctl00$mainContent$ctl06" value="346" /><label for="ctl00_mainContent_ctl06">artworker1</label></span><span class="cbox"><input id="ctl00_mainContent_ctl07" type="checkbox" name="ctl00$mainContent$ctl07" value="362" /><label for="ctl00_mainContent_ctl07">buyer3</label></span><span class="cbox"><input id="ctl00_mainContent_ctl08" type="checkbox" name="ctl00$mainContent$ctl08" value="367" /><label for="ctl00_mainContent_ctl08">meeeee</label></span><span class="cbox"><input id="ctl00_mainContent_ctl09" type="checkbox" name="ctl00$mainContent$ctl09" value="368" /><label for="ctl00_mainContent_ctl09">stake</label></span>
</div>
查看源代码时非常丑陋且难以理解。这通常不是问题,但我的网站为访问者提供资源和教程,查看源代码是体验的一部分。
有什么方法可以很好地呈现这些控件?缩进正确,更好的 id 和名称等?
【问题讨论】:
-
您不会通过网络表单获得漂亮的源代码。如果你想使用 ASP.NET MVC 是一个更好的提议。
-
我个人认为名称(只要它们看起来很长而且“难看”)是一种非常明智的方式,尤其是在涉及中继器、嵌套控件、模板和几乎“所有不平凡的东西”的场景中";只需使用更好的 CSS 类/选择器(避免 ASP.NET 控件的基于 ID 的选择器)和数据绑定(以避免硬编码客户端 ID)并且不要将生成的名称视为静态名称资源。