Open sitecore media library programmatically from asp.net button click

泄露秘密 提交于 2019-11-29 14:44:48

I found a solution. Steps as follows:

a. Created config file "MediaBrowser.config" and added into folder App_Config/Include (configuration xml below):

<configuration xmlns:patch= "http://www.sitecore.net/xmlconfig/">
  <sitecore>
      <commands>
          <command name="example:MediaBrowser" type="SitecoreTraining.HelperClasses.MediaBrowser,SitecoreTraining" />
      </commands>
  </sitecore>
</configuration>

b. In my ascx control markup added the following to open the media browser:

<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. Created a MediaBrowser class that inherits the sitecore Command class with the following main methods used:

public override void Execute(CommandContext context) {

        Item item = context.Items.Length == 0 ? Context.Item : context.Items[0];
        contextItem = item;

        var parameters = new NameValueCollection();

        wizardPipeline = Context.ClientPage.Start(this, "Run", parameters);
    }

protected virtual 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 );     
        }
    }
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!