Я нашел решение.Шаги следующим образом:
a.Создан файл конфигурации "MediaBrowser.config" и добавлен в папку App_Config / Include (ниже приведен XML-файл конфигурации):
<configuration xmlns:patch= "http://www.sitecore.net/xmlconfig/">
<sitecore>
<commands>
<command name="example:MediaBrowser" type="SitecoreTraining.HelperClasses.MediaBrowser,SitecoreTraining" />
</commands>
</sitecore>
</configuration>
b.В мою разметку элемента управления ascx добавлено следующее, чтобы открыть медиабраузер:
<A class="scChromeCommand" title="Open Media Browser" onclick="javascript:Sitecore.PageModes.ChromeManager.postRequest('example:MediaBrowser(id=<%# Sitecore.Context.Item.ID.ToString() %>)',null,false)" href="#"><IMG alt="Open Media Browser" src="http://localhost:2438/temp/IconCache/applications/16x16/photo_scenery.png" width="16" height="16" /></A>
c.Создан класс MediaBrowser, который наследует класс команд sitecore со следующими основными методами:
public override void Execute (контекст CommandContext) {
Item item = context.Items.Length == 0 ? Context.Item : context.Items[0];
contextItem = item;
var parameters = new NameValueCollection();
wizardPipeline = Context.ClientPage.Start(this, "Run", parameters);
}
защищенный виртуальный void Run (ClientPipelineArgs)args) {
Database masterDb = Factory .GetDatabase("master");
if (args.IsPostBack)
{
var itemID = args.Result;
}
else
{
UrlString url = new UrlString (UIUtil .GetUri("control:Sitecore.Shell.Applications.Media.MediaBrowser" ));
Item folderItem = masterDb.GetItem("/sitecore/media library/Images" );
url["ro" ] = folderItem.Uri.ToString();
SheerResponse.ShowModalDialog(url.ToString(), true );
args.WaitForPostBack(true );
}
}