我有一个简单的asp.net网页,其中包含一个大约5 TR
的表,每行有2 TD
..在页面加载中我得到用户数据(5属性)和视图他们在这个页面中以下是前两行:
<table>
<tr>
<td>
FullName
</td>
<td>
<span id="fullNameSpan" runat="server"></span>
</td>
</tr>
<tr>
<td>
Username
</td>
<td>
<span id="userNameSpan" runat="server"></span>
</td>
</tr>
</table>
我总是使用<asp:Label
按代码设置值,但我总是注意到标签在运行时转换为span
所以我决定使span
用户runat=server
可以通过代码访问,所以
最好将asp:label
或span
与runat=server
一起使用
答案 0 :(得分:4)
答案是:无论哪种方式最适合你。
asp控件具有与html控件不同的对象模型。例如,html控件没有数据绑定。
修改强>
需要考虑的是你是否需要一个span元素。 Span是一个用于内联项的html元素,canoot可以保存其他项(例如块项)。如果您的html标记在语义上包含跨度(例如您希望以特定方式设置文本样式),则使用它。
除非您需要控制span标记上的属性,否则最好这样做:
<span class="foo"><asp:Literal id="litFoo" runat="server" /></span>
如果您需要专门修改标签本身(不一定只是它的内容),您应该只生成一个元素runat =“server”。例如,如果需要在运行时隐藏span,则可以创建span runat="server"
,以便在运行时访问它的Visible属性。否则,它应该保留为标准html。
答案 1 :(得分:1)
如果您所做的一切都在显示某些内容,那么最好使用文字标记添加没有额外标记。事实上99%的时间字面值应该用在标签上。
编辑:标签/跨度之间的表现会非常小,如果它们之间有任何差异,那么你担心这种表现的唯一原因就是如果你是facebook。