Search code examples
c#model-view-controlleruser-controlsascx

MVC View User Control with JavaScript. How implement popup?


I have a small project which I have a page with a drop-down menu. When the drop-down is selected a user control should popup.

This is an image of what I'm hoping to acomplish: enter image description here

I have a .ascx file which needs to be loaded. Where would the entry point be added to have this control pop-up? Here is the implementation. I have started with. This project is not using the code behind and is instead using javascript to implement controls.

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<AdministratorConsole.Models.TaskActionController.TaskActionViewModel>" %> 
<script language="javascript" type="text/javascript">
<!-- Some Funtions -->
</script>
<div class="main_popup_container">
<div class="task-action-header">Action Type: Hyperlink PDFs</div>
<div class="task-configuration-header">Configuration<span id="HyperlinkCopyTestResults" class="one-line-test-results"></span></div>

I have started a method to try to get this .ascx to pop up from the root folder without any luck. What do I need to get this MVC view user control to popup
and execute?

class PageLoad : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // Load control from file 
        Control load = (Control)Page.LoadControl(@"~/PDFHyperlink.ascx");
    }
}

I also have a Interface which has and Execute GetName and TestConfiguration to run some test on user inpute and execute my code to hyperlink PDFs.

public bool Execute(TaskActionConfig action, TaskActionAPI.Task t, out string message)
    {
        message = GetName();
        string configMessage = "Test Message";
        bool result = TestConfiguration(action, out configMessage);
        // Run hyperlinking tool. 
        HyperlinkingTool(t);

        return true;
    }

    // **************************GetName**************************
    public string GetName()
    {
        string HyperlinkPDFs = "Hyperlink PDFs";
        return HyperlinkPDFs;
    }

    // **************************TestConfiguration**************************
    public bool TestConfiguration(TaskActionConfig action, out string message)
    {
        Dictionary<string, string> parameter = action.Parameters;
        bool result = true;
        message = "Config Message";
        return result; 
    }

Solution

  • The method GetName() needs to return the same name as the .ascx file. This will register the .ascx file and load it.