Я создаю пользовательский тип данных, используя метод управления пользовательским контролем. В нем я добавляю существующий тип данных TinyMCE. Проблема в том, что мне нужно найти способ динамически удержать текущую TabPage, на которой находится тип данных, чтобы я мог добавить кнопки TinyMCE в меню. Это то, что я в настоящее время (TabPage жестко закодировано):Как получить TabPage, на котором находится тип данных управления пользователем
Использование отчетов: метод
using umbraco.cms.businesslogic.datatype;
using umbraco.editorControls.tinyMCE3;
using umbraco.uicontrols;
OnInit:
private TinyMCE _tinymce = null;
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
this.ID = "crte";
DataTypeDefinition d = DataTypeDefinition.GetDataTypeDefinition(-87);
_tinymce = d.DataType.DataEditor as TinyMCE;
ConditionalRTEControls.Controls.Add(_tinymce);
TabView tabView = Page.FindControl("TabView1", true) as TabView;
TabPage tabPage = tabView.Controls[0] as TabPage;
tabPage.Menu.InsertSplitter();
tabPage.Menu.NewElement("div", "umbTinymceMenu_" + _tinymce.ClientID, "tinymceMenuBar", 0);
}
управления пользователя:
<asp:PlaceHolder ID="ConditionalRTEControls" runat="server" />
Не e: Page. FindControl использует собственный метод расширения, который рекурсивно находит элемент управления.