Добавить пользовательский элемент управления в Asp.net - PullRequest
1 голос
/ 16 марта 2009

Я создаю новую панель ..

 public class LicensingPanel : Panel
{
     private LinkButton licenseButton;
    ...
}

Затем я добавляю свои элементы управления в свойство Controls, одним из которых является LinkButton.

То, что я хочу иметь в своем коде страницы, это следующее ..

protected override void CreateChildControls()
{
    Controls.Add(new LicensingPanel(this));

    base.CreateChildControls();
}

Но я получаю это сообщение об ошибке:

Элемент управления 'ctl03' типа 'LinkButton' должен быть помещен в тег формы с помощью runat = server. в System.Web.UI.Page.VerifyRenderingInServerForm (элемент управления)

Страница является страницей SharePoint с главной страницей, в ней есть тег Form с runat = server.

Любая помощь получена!

С наилучшими пожеланиями,

Phill

Ответы [ 4 ]

4 голосов
/ 16 марта 2009

Любая страница с мастер-страницей, независимо от того, находится она в SharePoint или нет, является страницей содержимого. Эти страницы поддерживают только контент, содержащийся в элементах управления контентом. Попытка добавить тег HTML или элемент управления ASP.NET непосредственно на страницу не поддерживается.

0 голосов
/ 16 марта 2009

Я думаю, что вам нужно выполнить несколько шагов, прежде чем вы сможете использовать определенный элемент управления в среде MOSS 2007:

  1. Вы должны зарегистрировать свою пользовательскую библиотеку DLL как безопасную.
  2. Вы должны зарегистрировать свой пользовательский элемент управления на главной странице, чтобы сервер мог распознать тег.

ДЛЯ DLL: <% @ Register TagPrefix = "customcontrolname" Namespace = "MyCustomControl" Assembly = "MyCustomControl, Version = 1.0.0.0, Culture = нейтральный, PublicKeyToken = 123456789abcdefg"%>

ДЛЯ ASCX: <% @ Register Src = "~ / Controls / MyCustomControl.ascx" TagName = "MyCustomControl" TagPrefix = "customcontrolname"%>

0 голосов
/ 16 марта 2009

Я думаю, вы должны рассказать нам немного больше о том, что вы хотите заархивировать с вашим кодом. Где вы пытаетесь добавить свой контроль?

0 голосов
/ 16 марта 2009

Где на странице находится элемент управления вашего типа LicensingPanel? Этот элемент управления должен находиться внутри тега формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...