Ваш вопрос немного расплывчат в том, что именно вы пытаетесь выполнить, чтобы добавить кнопку на панель инструментов ленты, вам не понадобится страница ASPX.
Но если ваша кнопка ленты открывает всплывающее окно, в котором вы хотите использовать элементы управления Tridion, вам придется начать с импорта пространств имен Tridion.Web.UI.
на странице ASPX вы можете добавить:
<%@ Import Namespace="Tridion.Web.UI" %>
<%@ Register TagPrefix="ui" Namespace="Tridion.Web.UI.Editors.CME.Controls" Assembly="Tridion.Web.UI.Editors.CME" %>
В заголовке страницы ASPX вы должны указать элемент управления tridion manager:
<cc:tridionmanager runat="server" editor="ExampleEditor" isstandaloneview="true">
<dependencies runat="server">
<dependency runat="server">Tridion.Web.UI.Editors.CME</dependency>
<dependency runat="server">Tridion.Web.UI.Editors.CME.Controls</dependency>
</dependencies>
</cc:tridionmanager>
И тогда вы можете использовать элементы управления на своей странице. Убедитесь, что не забыли ссылку на пространство имен
xmlns:c="http://www.sdltridion.com/web/ui/controls"
Ваш код должен быть расширен из Tridion View, например, Tridion.Web.UI.Editors.CME.Views.Popups.PopupView
using Tridion.Web.UI.Core;
using Tridion.Web.UI.Controls;
using Tridion.Web.UI.Core.Controls;
using Tridion.Web.UI.Editors.CME.Views.Popups;
namespace Extensions.Example.Views
{
[ControlResources("Extensions.Example.Views.ExampleDialog")]
[ControlResourcesDependency(typeof(Stack))]
public class ExampleDialog : PopupView
{
}
}
Это все возможно, но не уверен насчет уровня поддержки при повторном использовании элементов управления Tridion. Насколько я знаю, они не являются частью общедоступного API, и ничего из этого нигде не задокументировано (вы можете посмотреть страницы ASPX в каталоге .. \ Tridion \ web \ WebUI \ Editors \ CME \ Views, но вы у меня нет примеров кода, который в большинстве случаев отсутствует). Поэтому я бы порекомендовал вам не использовать существующие элементы управления и на вашей странице ASPX, если вы хотите использовать .NET здесь. В этом случае просто используйте свои собственные элементы управления. Если этим элементам управления потребуется доступ к Tridion CMS, вам следует использовать их для этой цели.
Конечно, можно просто использовать элементы управления Tridion в сочетании с JavaScript API, как показано в существующих представлениях. Если вы используете элемент управления c:Button
на своей странице, в коде JavaScript вы можете получить к нему следующий доступ:
var p = this.properties;
var c = p.controls;
c.BtnExmpl = $controls.getControl($("#BtnID"), "Tridion.Controls.Button");
// add an event handler like this
$evt.addEventHandler(c.BtnExmpl, "click", this.getDelegate(this._onExmplClicked));