【问题标题】:Namespace import. Difference between <%@ Import %> and <html xmlns:c="namespace" >命名空间导入。 <%@ Import %> 和 <html xmlns:c="namespace" > 的区别
【发布时间】:2012-03-12 07:37:02
【问题描述】:

通过导入正确的命名空间,我可以在 aspx 页面上做到这一点:

<c:tabcontrol runat="server" id="ContactTabs" activepage="ClientTab" class="vertical">

这两种导入都有效;有什么区别,我应该使用一个而不是另一个?

<%@ Import Namespace="Tridion.Web.UI" %>

对比

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:c="http://www.sdltridion.com/web/ui/controls"
class="tridion popup">

当只使用 xmlns 属性时,Visual Studio 给出

警告验证(XHTML 1.0 过渡):属性“类”不是 元素“html”的有效属性。

【问题讨论】:

    标签: asp.net visual-studio tridion


    【解决方案1】:

    要使 c:tabcontrol 起作用,您需要注册标签前缀 c:

    在旧版本的 ASP.NET 中,您必须在页面中使用 @Register 指令执行此操作。这将允许您将 .NET 命名空间和程序集与标记前缀相关联。现在可以在web.config中注册前缀,比较方便,但是原理还是一样的。

    一旦连接了前缀,ASP.NET 就会将带有该前缀的标签识别为控件。 (注意你的 tabcontrol 上的 runat="server" 属性)

    您的第二个示例是 XML 命名空间,而不是 .NET 命名空间。

    【讨论】:

    • 这说明了区别。根据Tridion PowerTools custom namespace,我发现了有关特定 XML 命名空间的更多信息,它是我正在使用的项目所独有的,但通常与 .NET 无关。
    猜你喜欢
    • 2020-12-14
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    • 2016-04-21
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    相关资源
    最近更新 更多