See my responses below...
Ben Santiago wrote:
Mike,
That didn't answer my question. But let me first address your new post.
Regarding the "element" in the DNN Manifest, you understand incorrectly. Just because your site has other popups that work means nothing at all. It just means that your DNN Instance is set to allow them, that is all. Like I previously stated in my post:
You missed a property inside your DNN Manifest file: True
Without this property, your page will never "PopUp" [correctly, if at all].
If you do not "define" your ControlPage as "Supporting Popup", then it will not Popup correctly (if at all) because according to what DNN knows, this particular page is not a "Popup" page. Once defined at a "Supports Popup" page, then the EditURL() command will automatically return a URL formatted with the JavaScript that will "popup" your page.
There's really no point debating whether <supportsPopUp> is required or not. I believe it is enabled by default based on blogs I've read on dotnetnuke.com blogs. In any case, whether I have the element included in my manifest file or not, the result from the EditURL() call always returns the following, which you can see does include the appropriate javascript call...
dnnModal.show('http://dnndev/CustomPage1/CustomChildPage1/tabid/90/ctl/FTS-RSS/mid/504/Default.aspx?popUp=true',/*showReturn*/false,550,950,true,'')
On a side note, I've always called the popup from server-side code, which means I needed to register a JavaScriptBlock to activate the "popup". You are trying to embed your code directly using JavaScript from what I can gather of your posts, although theoretically it shouldn't be a problem, I I have never done it that way.
If you look at the code I posted initially, you'll see that it is the same code that was used successfully by you earlier in the thread... server side code.
Now, running from an "Installed Package" and running directly from your "Source Code" is different. I know the difference.
In either case, you have to make sure your DNN Manifest is correct as I stated above. I have attempted with and without <supportsPopUps> element to no avail.
However, if you are running from "Source Code" and you have already initially added the Module, you need to EDIT the module definition as I explained in my previous post...add the new ControlPage you created because you added it after-the-fact and the DNN Instance has no knowledge of it, and be sure to activate the "Supports Popup" flag on the ControlPage in the Module Definition, otherwise as stated before it will not "popup" correctly if at all. I have both edited the module as you describe and included the element in my manifest and reinstalled the package. No change in behavior.
Lastly, as for your question "Does the module that I want to display in the PopUp have to actually be on the page that the hyperlink is that will launch the popup?"... I have no clue what you mean by this. When you are coding a Module, ALL your ControlPages are within the Module you are coding. If you are referring to accessing a completely separate Module, then you need to know that you cannot access ControlPages of other Modules.
My point is this... Given that the path generated by EditURL includes in it the tabid of the page that I am launching the popup from, does the module have to be added to a hidden container on that page in order for the url path to locate and navigate to its display. Nevermind... I'll just try it and know the answer for myself.
EditURL() and NavigateURL() does not support cross-module communication. Now the caveat to this statement is that if you want, you "could" create Direct SQL Queries against the DNN Core Tables to determine the ModuleID of another Module and then manually build a URL to which you can use in a ResponseRedirect() command. As for the SQL statements needed, only you can figure that out as these are your modules.
Ultimately, the issue is not the generation of the popup itself. I am getting the popup. I can see the html source within the iframe of the popup. But the source that would be generated from my control is not within the iframe. Also, when I attempt to navigate to the URL contained within the popup javascript call, it does not display the content from my module.
Guess I'll just keep digging for a solution.