Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / productivity / SharePoint

Open SharePoint App Url as a Modal Dialog in SharePoint 2013 (SharePoint App)

0.00/5 (No votes)
4 Apr 2014CPOL 14K  
How to open SharePoint App URL as a modal dialog in SharePoint 2013 (SharePoint app)

In SharePoint 2010, we used JavaScript to open the URL in a modal dialog. In SharePoint 2010, we used to write JavaScript to make the URL open in the modal dialog. If we write EditControlBlock actions, we used JavaScript as follows:

XML
<CustomAction 
                Id="Custom.ProvisionGroup"
                Location="EditControlBlock"
                Title="My Custom Action"
                RegistrationType="ContentType"
                RegistrationId="0x01"
               ImageUrl="/_layouts/images/editicon.gif" >
 
<UrlAction Url="javascript:OpenPopUpPageWithTitle
('{SiteUrl}/_layouts/myCustom/default.aspx?List={ListId}&ID={ItemId}', 
RefreshOnDialogClose, 600, 400,'My Custom Action')" />
 
</CustomAction>

In SharePoint 2013 using JavaScript encountered:

Error occurred in deployment step 'Install app for SharePoint': 
There were errors when validating the App Package.

Thus for SharePoint 2013, we need to use three special attributes in CustomAction.

XML
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <CustomAction Id="a266876f-6356-4342-91a3-ef3d55b1e570.MenuItemCustomAction1"
                RegistrationType="ContentType"
                RegistrationId="0x01"
                Location="EditControlBlock"
                Sequence="10001"
                Title="Invoke &apos;MenuItemCustomAction1&apos; action"
                HostWebDialog="TRUE"
                HostWebDialogHeight="420"
                HostWebDialogWidth="510"
                >
    <!-- 
    Update the Url below to the page you want the custom action to use.
    Start the URL with the token ~remoteAppUrl if the page is in the
    associated web project, use ~appWebUrl if page is in the app project.
    -->
 
    <UrlAction  Url="~appWebUrl/Pages/Default.aspx?{StandardTokens}&amp;
                SPListItemId={ItemId}&amp;SPListId={ListId}"/>
    
  </CustomAction>
</Elements>

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)