哪个更好跨越runat服务器或默认的asp标签?

时间:2010-12-26 05:43:06

标签: asp.net performance webpage html

我有一个简单的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:labelspanrunat=server一起使用

2 个答案:

答案 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。