3

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

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

和脚本管理器作为一个空标签。

 <asp:ScriptManager runat="server"/>

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

4

3 回答 3

2

在您的示例中,它们是等效的,除了您不能将任何子项添加到自关闭版本中,如果您以编程方式进行操作,这很好。

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

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

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

于 2010-05-14T10:08:44.867 回答
1

没有区别,两者是完全等价的(顺便说一句,无论标签是什么)。

于 2010-05-14T10:05:56.533 回答
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,兰斯

于 2010-05-14T10:08:31.177 回答