Директива @Register в ASP.NET 2.0 - PullRequest
       8

Директива @Register в ASP.NET 2.0

2 голосов
/ 22 сентября 2011

Я использую следующую директиву на своей странице aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="myWebParts._Default" %>
<%@ Register Namespace="myWebParts" TagPrefix="myWebParts_tag" %>

И на моей странице есть фрагмент кода, подобный этому:

        <ZoneTemplate>
          <myWebParts_tag:HelloWorldWebPart runat="server" ID="_wp1" />
        </ZoneTemplate>

Но я получил следующую ошибку:

Ошибка парсера Описание: Произошла ошибка при разборе ресурса, необходимого для обслуживания этого запроса.Пожалуйста, просмотрите следующую конкретную информацию об ошибке разбора и измените исходный файл соответствующим образом.

Сообщение об ошибке анализатора: неизвестный тег сервера 'myWebParts_tag: HelloWorldWebPart'.

Что не так?Спасибо.

Ответы [ 2 ]

2 голосов
/ 22 сентября 2011

В вашей директиве о регистрации отсутствует информация assembly или src.

  • Если вы хотите сослаться на все пространство имен элементов управления в другой сборке, добавьте имя сборки с помощью assembly="AssemblyName".
  • Если вы хотите добавить один пользовательский элемент управления в текущей сборке, добавьте местоположение с помощью src="LocationOfUserControl.ascx.

См. MSDN для получения дополнительной информации о директиве @Register.

1 голос
/ 22 сентября 2011

Это решается добавлением этого:

  <pages>
    <controls>
      <add tagPrefix="myWebParts_tag" namespace="myWebParts" assembly="myWebParts"/>
    </controls>
  </pages>
...