Я предполагаю, что ваш пользовательский элемент управления имеет свойство Text
типа string. Если затем вы объявите, что это свойство имеет постоянный режим «InnerDefaultProperty», вы должны получить то, что ищете.
Е.Г.
/// <summary>
/// Default Text property ("inner text" in HTML/Markup)
/// </summary>
[PersistenceMode(PersistenceMode.InnerDefaultProperty)]
public string PropertyTest
{
get
{
object o = this.ViewState["Text"];
if (o != null)
{
return (string)o;
}
return string.Empty;
}
set
{
this.ViewState["Text"] = value;
}
}
Edit:
Чтобы избежать «буквального содержимого, не разрешенного», вы должны помочь анализатору, добавив [ParseChildren(true, "PropertyTest")]
к определению class (см. MSDN ).
И, конечно, вам нужно свойство для записи (т.е. для него нужен установщик, который я опускал для краткости).