Импорт пространства имен. Разница между <% @ Import%> и <html xmlns: c = "пространством имен"> - PullRequest
1 голос
/ 22 февраля 2012

Я могу это сделать на странице 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 Transitional): атрибут 'class' не является допустимый атрибут элемента 'html'.

1 Ответ

3 голосов
/ 22 февраля 2012

Чтобы c: tabcontrol работал, вам нужно зарегистрировать префикс тега c:

В старых версиях ASP.NET вам приходилось делать это на странице с помощью директивы @Register.Это позволит вам связать пространство имен .NET и сборку с префиксом тега.В настоящее время вы можете зарегистрировать префикс в web.config, что более удобно, но принцип остается тем же.

Как только префикс будет подключен, ASP.NET распознает теги с этим префиксом в качестве элементов управления.(Обратите внимание на атрибут runat = "server" в вашем tabcontrol)

Ваш второй пример - это пространство имен XML, а не пространство имен .NET.

...