Drag and drop directive

The sfDragDrop is a directive that adds drag-and-drop functionality to an HTML element. Using this directive you can drag one or several files over a specified HTML element. When a drop event occurs a delegate is called. The sfDragDrop directive is defined in a module with the same name: sfDragDrop.


The sfDragDrop directive exposes the following attributes:

Attribute Description
sf-template-html Passes the markup that is included at the beginning of the directive's host element
sf-data-transfer-callback Passes a delegate that is called when a drop occurs. The dataTransferObject is resolved as an argument when calling the delegate. For more information, see DataTransfer Object.

CSS classes

The sfDragDrop directive adds the following CSS classes to the HTML host element:

CSS class Action
Added when dragging is in progress
Added when dragging is in progress over the element

Add the drag and drop directive

The following example demonstrates how to add a drag-and-drop directive in a widget designer's view.

To enable AngularJs to link the sfDragDrop directive in your custom designer view, you must load the script of the directive and add a dependency to the module.
Perform the following:

  1. Sitefinity CMS automatically registers the scripts you need and, if no other designer view with explicitly set priority exists, Sitefinity CMS sets your designer view priority 1. In case you need to have full control over the scripts that are loaded or you want to set custom priority, you can alternatively create your own DesignerView.YourView.json file. If you have a JSON file that matches the convention (even if empty), this automatic scripts registration will not occur. In your DesignerView.YourView.json file, add a scripts array.
    Use the following code:
  2. In your designerview-yourview.js file, place the following code snippet:

    The code above is called when a drop event occurs. As a result, an alert displays the name of the first file that was dropped in the HTML element hosting the sfDragDrop directive.

  3. In your DesignerView.YourView.cshtml file, place the following tag where you want to render the sfDragDrop directive:

Increase your Sitefinity skills by signing up for our free trainings. Get Sitefinity-certified at Progress Education Community to boost your credentials.

Get started with Integration Hub | Sitefinity Cloud | Sitefinity SaaS

This free lesson teaches administrators, marketers, and other business professionals how to use the Integration hub service to create automated workflows between Sitefinity and other business systems.

Web Security for Sitefinity Administrators

This free lesson teaches administrators the basics about protecting yor Sitefinity instance and its sites from external threats. Configure HTTPS, SSL, allow lists for trusted sites, and cookie security, among others.

Foundations of Sitefinity ASP.NET Core Development

The free on-demand video course teaches developers how to use Sitefinity .NET Core and leverage its decoupled architecture and new way of coding against the platform.

Was this article helpful?

Next article

Search box directive