如果我们将脚本管理器与结束标记和脚本管理器一起编写为asp.net中的空标记,那有什么区别

时间:2010-05-14 09:55:49

标签: asp.net scriptmanager

如果我们用这种格式编写带有结束标记和脚本管理器的脚本管理器作为空标记,那么区别是什么:

<asp:ScriptManager runat="server">
</asp:ScriptManager>

和脚本管理器作为空标记。

 <asp:ScriptManager runat="server"/>

我在一些采访问题的书中发现了这个问题..请给我一些关于它的知识或者给我任何链接..

3 个答案:

答案 0 :(得分:2)

使用您的示例它们是等效的,但您不能将任何子项添加到自动关闭版本中,如果您以编程方式执行此操作,则可以。

请注意,这根本不是特定于此控件,它几乎适用于任何ASP.Net控件(有些必须让子级有效)。例如:

<asp:DropdownList id="bob" runat="server" />

如果您在代码中数据绑定或手动将项目添加到列表中,这很好,否则页面中需要<asp:ListItem />个元素......简短的回答是它只是一个更干净/简洁的方式写一个不需要任何孩子的标签。

答案 1 :(得分:1)

没有区别,两者完全相同(顺便说一下,无论标签如何)。

答案 2 :(得分:1)

如果您不需要插入任何javascript,那么使用空标记会使用较少的字节,因为它是执行相同操作的较短方式。

如果你确实需要添加一些javascript,那么你将不得不使用'结束标记'版本,因为这是在开始和结束标记之间放置脚本的唯一方法。例如:

    <asp:ScriptManager runat="server" ID="ScriptManager1">
       <Scripts>
         <asp:ScriptReference Path="sample.js" />
       </Scripts>
    </asp:ScriptManager>

我倾向于自己使用'空'标签版本,我觉得它看起来有点整洁,而且杂乱无章。

有关详细信息,请参阅:http://www.wrox.com/WileyCDA/Section/Using-the-ASP-NET-AJAX-ScriptManager.id-305492.html

HTH, 兰斯