Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDevelopment and...Development and...Building ExtensionsBuilding ExtensionsModulesModulesCreate a popup on a moduleCreate a popup on a module
Previous
 
Next
New Post
6/19/2016 1:45 AM
 

I've been struggling with this all weekend. Advice appreciated. This pertains to DNN version 7.04.02

I have several modules I've already developed starting with the Christoc templates in Visual Studio 2015. These are all working fine at present.

One of my site pages displays track details for a specific GPS track (including map etc.) I want to add a button to this module that will open a small pop-up form where some feedback on the track can be recorded then some server-side processing will occur and the pop-up should close and return the user to the screen they were originally viewing.

My thought was to create a new module control for this within the existing module.

So I created a new "Report.ascx" control in my project, and added it to the .dnn manifest file. I have built it and deployed it and checked that it exists in Host, Extensions, Edit, Module Definitions and that it has a key ("Report") and supports popups is checked. They "Type" of the control is "View."

So now I expect that when I visit the page of the site that is the detail page, and add ctl/Report to the end of the URL, I should see my control (which has the text "This is a test" on it. But when I go to that URL I just get a blank page (with headers and menus but no content at all) and the load event for the control is not triggered.

 

 

 

 
New Post
6/20/2016 10:55 AM
 
You can't just add ctl/report to the page, you will also have to add the mid/### where ### is the module id.

The easiest way to do this is to call something like

DotNetNuke.Common.Globals.NavigateURL(TabId, "", "", "ctl=Report&mid=" + ModuleId.ToString())

with a hyperlink on the page.

Chris Hammond
Former DNN Corp Employee, MVP, Core Team Member, Trustee
Christoc.com Software Solutions DotNetNuke Module Development, Upgrades and consulting.
dnnCHAT.com a chat room for DotNetNuke discussions
 
New Post
6/23/2016 4:35 AM
 

Hi,

I did the same thing, but opened in a modal popup (jquery). I call the popup (example with markup and codebehind from a gridview) like this:

markup

<asp:gridview ..........

 <asp:TemplateField HeaderText="Action" ItemStyle-Width="150px">

                <ItemTemplate>

                    <asp:LinkButton ID="btnPopup" Text="Contacts" runat="server" /> | 

 

                </ItemTemplate>

.......</asp:gridview>

code behind

  protected void gridClients_RowDataBound(object sender, GridViewRowEventArgs e)

        {

            try

            {

                if ((e.Row.RowState & DataControlRowState.Edit) == 0 && e.Row.RowType == DataControlRowType.DataRow)

                {

                    LinkButton btnPopup = (LinkButton)e.Row.FindControl("btnPopup");

                    Label lblClientID = (Label)e.Row.FindControl("lblClientID");

                    Int64 ClientID = Convert.ToInt64(lblClientID.Text);

                    btnPopup.OnClientClick = " ETCI_PopupNavigate('" + this.GetCurrentUrlForPopup + "?ScreenMode=Person&EntityID=" + ClientID.ToString() + "', 550, 950, false);";

                }

.........

My popupnavigate function resides in an include javascript (although i think height and width are switched):

function ETCI_PopupNavigate(url, height, width, refreshafterclose) {

    dnnModal.show(url, false, height, width, refreshafterclose);

}

My getcurrenturlforpopup resides in my created base class (in my case Popu is the key):

public string GetCurrentUrlForPopup

        {

            get

            {

                return DotNetNuke.Common.Globals.NavigateURL(this.TabId,this.PortalSettings, "Popup", new string[] { "mid="+this.GetModId.ToString(),"popUp=true" });

            }

        }

This gives you a popup without menu items, just an empty page

HTH

Regards,

Alexander

 
Previous
 
Next
HomeHomeDevelopment and...Development and...Building ExtensionsBuilding ExtensionsModulesModulesCreate a popup on a moduleCreate a popup on a module


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out