Templated Control - содержимое не допускается между открывающим и закрывающим тегами - PullRequest
0 голосов
/ 09 сентября 2010

Я пытаюсь запустить шаблонный пример управления пользователем, предоставляемый MSDN. Код выглядит следующим образом:

Итак, в соответствии с MSDN это должно быть реализовано следующим образом:

<%@ Register Assembly="MyAssembly" Namespace="MyAssembly.Controls" TagPrefix="abs" %>
<abs:TemplatedFirstControl id = "First"  runat=server
                           Text= "The time on the server is "  >
      <FirstTemplate>
          <h3><font face="Verdana" color = "red">
                 <%# Container.Text %> <%# Container.DateTime %>
              </font>
          </h3>
      </FirstTemplate>      
    </abs:TemplatedFirstControl>

Дизайнер жалуется, что содержимое между открывающим и закрывающим тегами TemplatedFirstControl недопустимо и что FirstTemplate не поддерживается. Так чего не хватает? Я дублировал код MSDN дословно

MSDN Артикул: http://msdn.microsoft.com/en-us/library/aa720695%28v=VS.71%29.aspx

Ответы [ 2 ]

5 голосов
/ 22 августа 2011

Для тех, у кого такая же проблема, я обнаружил, что добавление следующих атрибутов в свойство FirstTemplate решило проблему для меня:

[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[PersistenceMode(PersistenceMode.InnerProperty)]
public ITemplate FirstTemplate 
{
    get
    {
        return firstTemplate;
    }
    set
    {
        firstTemplate = value;
    }
}
0 голосов
/ 10 сентября 2010

Похоже, что компилятор не распознает, что FirstTemplate является допустимым дочерним элементом TemplatedFirstControl. Проверьте следующее:

  • Является ли FirstTemplate общедоступным свойством класса codebehind для TemplatedFirstControl?
  • Определен ли открытый дочерний класс элемента управления, который наследуется от Control и реализует INamedContainer?
  • Украшено ли свойство FirstTemplate атрибутом TemplateContainer?
  • Правильно ли указан этот атрибут тип дочернего шаблона?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...