Last day I was working with few web parts and I had got the error. I had created two pages in ‘site pages’ library. Let’s say one is parentpage.aspx and another is childpage.aspx. There was a web part added in the parentpage.aspx. In that web part I had a button and on the click event of the button I tried to show the childpage.aspx in modal dialog. So I was trying to show a child page inside parent page using SharePoint client modal feature. And I had come up with the error. Let’s dig a bit deeper into the problem.
How to add Web Part page
There are two types of pages (web part page and non-webpart page) you can add in SharePoint. If you just click add page from ‘Site Pages’ library as shown in the image below, the page will be added is non-webpart page.
Figure: ‘Add new page’ feature in site pages library
If you want to add web part page then you need to go to ‘Site Actions’ => ‘More Options’ => ‘Page’ and then select ‘web part page’. This is shown in the image below:
I had created web part pages and then I tried to show the page in the modal dialog. And it worked!! So the error was coming up since I was trying to show non-webpart page in the modal dialog.
So the conclusion is that if you want to show a page in modal dialog taking advantage of SharePoint Modal Dialog API, then you need to make sure that the page you want to show in modal dialog is derived from Microsoft.SharePoint.WebControls.LayoutsPageBase or the page is web part page. So to get rid of the error make sure you have been using WebPart page or your page is inherited from Microsoft.SharePoint.WebControls.LayoutsPageBase .