не работает всплывающее окно загрузки файла

Я работаю над приложением ASP.NET Web Form. Мое требование - показывать всплывающее окно загрузки файла Excel, когда пользователь нажимает на данную ссылку (эта ссылка на poppage, а не на странице aspx.). У меня есть страница aspx со ссылкой. Когда пользователь щелкает, он вызывает функцию js, через которую мы вызываем метод веб-сервиса для генерации html для всплывающего экрана.

КОД:

 function showListModelFromGenrator(divId) {
    var lowner = $("#" + hdnLoggedInOwnerID)[0].value;
    var sowner = $("#" + hdnSelectedOwnnerID)[0].value;
    var commID = $("#" + hdnCommunityId)[0].value;


    var controlid = '#' + divId;
    $.ajax({
        url: baseUrl + '/' + "WebServices/ExtraInfoWebService.asmx/GetProductActivityStatus",

        data: { LoggedInOwnerId: lowner, SelectedOwnerId: sowner, CommunityId: commID },
        success: function (response) {
            $(controlid).dialog("destroy");
            $(controlid).dialog({
                autoOpen: false,
                modal: true,
                width: 560,
                height: 370,
                resizable: false

            }).empty().append(response.text);
            $(controlid).dialog('open');
            var busyBox = new BusyBoxWrapper()
            busyBox.HideBusyBoxAfter(5);
        },
        cache: false
    });
}

веб-метод:

[WebMethod(EnableSession = true)]
    public string GetProductActivityStatus(int LoggedInOwnerId, int SelectedOwnerId, int CommunityId)
    {
        StringBuilder stringAuditStatus = new StringBuilder();
        Audit objdata = new Audit();
        try
        {
            DataTable dt = new DataTable();
            int ownerID = LoggedInOwnerId;
            if (SelectedOwnerId != 0)
                ownerID = SelectedOwnerId;

            dt = objdata.GetListmodeldata(ownerID, CommunityId);

            stringAuditStatus.Append(@"Code" +
                                            "Description" +
                                            "Status" +
                                            "Date");
            foreach (DataRow item in dt.Rows)
            {
                stringAuditStatus.Append(


                                            "" + item["Code"] + "" +
                                            "" + item["Description"] + "" +
                                            "" + item["Status"] + "" +
                                            "" + item["Date"] + "");
            }
            stringAuditStatus.Append("");
            stringAuditStatus.Append("<a id="lnkViewProductCodeStatus" runat="Server" href="#" onclick="javascript:ExportExel();">DownloadListModel</a>");


        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }

        return stringAuditStatus.ToString();
    }

когда пользователь нажимает на "lnkViewProductCodeStatus " (созданный выше веб-методом). мы называем функцию JSExportExcel который вызывает метод обработчика для обработки файла для загрузки.

function ExportExel(){
    var abc;
    $.ajax({
        type: "POST",
        url: baseUrl + '/' + "WebServices/ExtraInfoWebService.asmx/Urlhttphandler",
        data: {},
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            //window.open(msg.d);
            $.ajax({
                type: "POST",
                url: msg.d,
                data: {},
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (msg) {
                    //window.open(msg.d);
                }
            });
        }
    });
public void ProcessRequest(HttpContext context)
    {


        string FullFilePath = context.Server.MapPath("~/Certificates/" + "ExcelFile.xls");
        System.IO.FileInfo file = new System.IO.FileInfo(FullFilePath);

        if (file.Exists)
        {
            //For more MIME types list http://msdn.microsoft.com/en-us/library/ms775147%28VS.85%29.aspx
            context.Response.ContentType = MIMETypeUtility.MIMETypeDescription(MIMEType.Excel);
            context.Response.AddHeader("Content-Disposition", "attachment; filename=\"" + file.Name + "\"");
            context.Response.AddHeader("Content-Length", file.Length.ToString());
            context.Response.WriteFile(file.FullName);
            context.Response.Flush();
            context.Response.End();
        }



    }

когда я отлаживаю, вызов приложения идет правильно к пользователю, но всплывающее окно загрузки файла не появляется. Тот же код, который я пробовал на странице (не во всплывающем окне), работает нормально. Кто-нибудь может подсказать мне, почему это не работает в моем случае.

Большое спасибо, Прашант

Ответы на вопрос(1)

Ваш ответ на вопрос