0

Как говорится в моем заголовке, у меня есть проблема с сбоем в задаче.Настройка свойства design-time из окна свойств пользовательского управления веб-сервером зависает/падает Visual Studio 2010

Вот сценарий:

  1. Я создал простой пользовательский элемент управления сервера ASP.Net, который генерирует некоторый текст.
  2. Я хотел предоставить свойство design-time для этого текста, чтобы его стиль можно было получить разработчиками из окна свойств.
  3. Все свойства в окне свойств работают, кроме тех, которые имеют тип System.Web.UI.WebControls.Style, который я создал.

Вот моя собственность:

[Bindable(true)] 
[Category("Appearance")] 
[Description("The style for the header")] 
[Localizable(true)] 
public Style HeaderTextStyle 
{ 
    get 
    { 
    Style s = (Style)(ViewState["HeaderTextStyle"] == null ? Styles.defaultHeaderStyle : ViewState["HeaderTextStyle"]); 
    return s; 
    } 

    set 
    { 
    ViewState["HeaderTextStyle"] = value; 
    } 
} 

О и Styles.defaultHeaderStyle это просто свойство из внутреннего класса, который возвращает новый Style.

Позвольте мне указать, что зависание/сбой происходит только тогда, когда я ИЗМЕНИТЬ свойство, поэтому он не может быть из геттера.

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

Что это за причина?

спасибо.

+0

Что возвращает Styles.defaultHeaderStyle? –

+0

@rickschott возвращает style.'public статического стиля defaultHeaderStyle \t \t \t { \t \t \t \t получить \t \t \t \t { \t \t \t \t \t результата Стиля = новый стиль(); \t \t \t \t \t результат.Font.Bold = true; \t \t \t \t \t результат возврата; \t \t \t \t} \t \t \t} ' –

+0

Я нашел решение. Я опубликую объяснения. –

ответ

1

Я нашел ответ на свою проблему.

Вы видите, Стиля класса этого свойство, которое имеет подсвойство и называется комплексного свойства. Сложные свойства (свойство, имеющее подзаголовки) необходимо, чтобы пользовательское управление состоянием отображало состояние. Для стиля Style нужны атрибуты времени разработки, чтобы обеспечить постоянство в тегах элемента управления. Так что я написал в своем оригинальном посте, не сработает.

Для полного объяснения визита: Server Control Properties Example from MSDN

мне удалось реализовать с помощью этого примера. Надеюсь, это будет полезно для других.

+0

В этом случае, пожалуйста, отметьте сообщение как ответ как, было бы легче кому-то посетить этот вопрос, содержащий решение? – clklachu

+0

Хорошо. Я не мог до сих пор, потому что stackoverflow продолжал говорить мне, что я должен ждать 24 часа, чтобы отметить свой ответ в качестве ответа. –

Смежные вопросы