none
ajax issue RRS feed

  • Question

  • Controller
    ================

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;

    namespace TestBOL.Controllers
    {
        public class HomeController : Controller
        {
            public ActionResult Index()
            {
                return View();
            }

            public ActionResult ShowBootStrapModal(int testid1, int testid2)
            {
                ViewBag.testid1 = testid1;
                ViewBag.testid2 = testid2;
                return PartialView("_TestPartial");
            }

            public ActionResult About()
            {
                ViewBag.Message = "Your application description page.";

                return View();
            }

            public ActionResult Contact()
            {
                ViewBag.Message = "Your contact page.";

                return View();
            }
        }
    }


    Index.cshtml
    ================

    @{
        ViewBag.Title = "Home Page";
    }


    <br /><br /><br />
    <div class="row">
        @Html.ActionLink("Print BOL", "PrintBOL", new { shipmentid = 1, userid = 101 }, new { id="lnkPrintBol" })
    </div>

    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-hidden="true">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div class="modal-body">

                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                    <button type="button" class="btn btn-primary bol_print_modal_save">Save changes</button>
                </div>
            </div>
        </div>
    </div>


    @section scripts {
        <script>
            $(document).ready(function () {
                $("#lnkPrintBol").click(function () {
                    var linkurl = $(this).attr("href");
                    alert(linkurl);
                    //$('.modal-body').html('<b>Hello testing data</b>');
                    //$('#myModal').modal('show');


                    $(".modal-body").load(linkurl, function (responseTxt, statusTxt, xhr) {
                        if (statusTxt == "success") {
                            alert("External content loaded successfully!");
                            $('#myModal').modal('show');
                        }
                        if (statusTxt == "error") {
                            alert("Error: " + xhr.status + ": " + xhr.statusText);
                        }
                    });
                    return false;
                });

                $(".bol_print_modal_save").click(function () {
                    alert('Save clicked');
                    $('#myModal').modal('hide');
                    return false;
                });

                $('#myModal').on('hidden.bs.modal', function () {
                    //write code here when user click on close button
                    alert('removing modal')
                    $(this).removeData('bs.modal');
                    $('#modal-container .modal-content').empty();
                });
            });
        </script>
    }


    Partial view
    ================
    <b>Hello Deatials are... Test ID @ViewBag.testid1 and User ID @ViewBag.testid2</b>

    Another Set 

    ============

                                              

    Home Controller
    =================

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using TestBOL.Models;
    using System.IO;
    using iTextSharp.text;
    using iTextSharp.text.pdf;
    using iTextSharp.tool.xml;
    using iTextSharp.text.html.simpleparser;


    //Install-Package itextsharp.xmlworker -Version 5.5.13 
    //http://jsfiddle.net/a49cA/1/

    namespace TestBOL.Controllers
    {
        public class HomeController : Controller
        {
            public ActionResult Index()
            {
                return View();
            }

            public ActionResult ShowBootStrapModal(int testid1, int testid2)
            {
                ViewBag.testid1 = testid1;
                ViewBag.testid2 = testid2;
                return PartialView("_TestPartial");
            }


            public ActionResult GeneratePDF()
            {
                bool IsPdfGenerated = false;

                List<Student> studentsVM = new List<Student>
                {
                    new Student {ID=1,FirstName="Joy",      LastName="Roy",     FavouriteGames="Hocky"},
                    new Student {ID=2,FirstName="Raja",     LastName="Basu",    FavouriteGames="Cricket"},
                    new Student {ID=3,FirstName="Arijit",   LastName="Banerjee",FavouriteGames="Foot Ball"},
                    new Student {ID=4,FirstName="Dibyendu", LastName="Saha",    FavouriteGames="Tennis"},
                    new Student {ID=5,FirstName="Sanjeeb",  LastName="Das",     FavouriteGames="Hocky"},
                };

                var viewToString = StringUtilities.RenderViewToString(ControllerContext, "~/Views/Shared/_Report.cshtml", studentsVM, true);
                string filepath = HttpContext.Server.MapPath("~/PDFArchives/") + "mypdf.pdf";

                try
                {
                    StringReader sr = new StringReader(viewToString);
                    Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 30f, 0f);
                    PdfWriter writer = PdfWriter.GetInstance(pdfDoc, new FileStream(filepath, FileMode.Create));
                    pdfDoc.Open();
                    XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr);
                    pdfDoc.Close();
                    IsPdfGenerated = true;
                }
                catch(Exception ex)
                {
                    IsPdfGenerated = false;
                }

                //return Json(new { fileName = filepath, errorMessage = (IsPdfGenerated ? "" : "Error occured when pdf generated") });
                return Json(new { Msg = (IsPdfGenerated ? "PDF generated properly" : "Error occured when pdf generated") });
            }

            public ActionResult About()
            {
                ViewBag.Message = "Your application description page.";

                return View();
            }

            public ActionResult Contact()
            {
                ViewBag.Message = "Your contact page.";

                return View();
            }
        }
    }

    Index View
    ==============
    @{
        ViewBag.Title = "Home Page";
    }


    <br /><br /><br />
    <div class="row">
        @Html.ActionLink("Show Dialog", "ShowBootStrapModal", new { testid1 = 1, testid2 = 101 }, new { id = "lnkPrintBol" })
    </div>

    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-hidden="true">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div class="modal-body">

                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                    <button type="button" class="btn btn-primary bol_print_modal_save">Save changes</button>

                    <button type="button" class="btn btn-primary bol_save_as_pdf">Save as PDF</button>
                </div>
            </div>
        </div>
    </div>


    @section scripts {
        <script>
            $(document).ready(function () {

                $("#lnkPrintBol").click(function () {
                    var linkurl = $(this).attr("href");
                    alert(linkurl);
                    //$('.modal-body').html('<b>Hello testing data</b>');
                    //$('#myModal').modal('show');


                    $(".modal-body").load(linkurl, function (responseTxt, statusTxt, xhr) {
                        if (statusTxt == "success") {
                            alert("External content loaded successfully!");
                            $('#myModal').modal({ backdrop: 'static', keyboard: false }, 'show');
                        }
                        if (statusTxt == "error") {
                            alert("Error: " + xhr.status + ": " + xhr.statusText);
                        }
                    });
                    return false;
                });

                $(".bol_print_modal_save").click(function () {
                    alert('Save clicked');
                    $('#myModal').modal('hide');
                    return false;
                });

                $('#myModal').on('hidden.bs.modal', function () {
                    //write code here when user click on close button
                    alert('removing modal')
                    $(this).removeData('bs.modal');
                    $('#modal-container .modal-content').empty();
                });

                $(".bol_save_as_pdf").click(function () {
                    alert('Save as pdf clicked');
                    $.ajax({
                        type: "POST",
                        url: '@Url.Action("GeneratePDF", "Home")',
                        success: function (data) {
                            @*alert('PDF generate successfully');
                            window.location = '@Url.Action("DownloadAttachment", "PostDetail", new { studentId = 123 })';*@
                            alert(data.Msg);
                        },
                        error: function (xhr, status, error) {
                            //$("#dataDiv").html("Result: " + status + " " + error + " " + xhr.status + " " + xhr.statusText)
                        }
                    });
                    return false;
                });

            });
        </script>
    }

    Model
    =========
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;

    namespace TestBOL.Models
    {
        public class Student
        {
            public int ID { get; set; }
            public string FirstName { get; set; }
            public string LastName { get; set; }
            public string FavouriteGames { get; set; }
        }
    }

    _TestPartial partial view
    ===========================
    <b>Hello Deatials are... Test ID @ViewBag.testid1 and User ID @ViewBag.testid2</b>

    _Report partial view
    ======================
    @model  List<TestBOL.Models.Student>

    <html>
    <head>
        <link href="~/Content/Student.css" rel="stylesheet" />
    </head>

    <body>
        <table class="table" id="student">
            <thead class="thead-dark">
                <tr>
                    <th>ID</th>
                    <th>First Name </th>
                    <th>Last Name </th>
                    <th>Favourite Game</th>
                </tr>
            </thead>

            @foreach (var d in Model)
            {
                <tr>
                    <td>@d.ID</td>
                    <td>@d.FirstName</td>
                    <td>@d.LastName</td>
                    <td>@d.FavouriteGames</td>
                </tr>
            }
        </table>
    </body>
    </html>

    Utlities.cs
    =================
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using System.IO;

    namespace TestBOL
    {
        public static class StringUtilities
        {
            public static string RenderViewToString(System.Web.Mvc.ControllerContext context, string viewPath, object model = null, bool partial = false)
            {
                // first find the ViewEngine for this view
                ViewEngineResult viewEngineResult = null;
                if (partial)
                {
                    viewEngineResult = ViewEngines.Engines.FindPartialView(context, viewPath);
                }
                else
                {
                    viewEngineResult = ViewEngines.Engines.FindView(context, viewPath, null);
                }

                if (viewEngineResult == null)
                {
                    throw new FileNotFoundException("View cannot be found.");
                }

                // get the view and attach the model to view data
                var view = viewEngineResult.View;
                context.Controller.ViewData.Model = model;

                string result = null;

                using (var sw = new StringWriter())
                {
                    var ctx = new ViewContext(context, view, context.Controller.ViewData, context.Controller.TempData, sw);
                    view.Render(ctx, sw);
                    result = sw.ToString();
                }

                return result.Trim();
            }
        }
    }

    html

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <style type="text/css">
            .auto-style1 {
                width: 100%;
            }
            .auto-style2 {
                height: 19px;
            }
            .auto-style3 {
                text-align: center;
            }
        </style>
    </head>
    <body>

        <div>
        
            <table class="auto-style1">
                <tr>
                    <td style="text-align: center"><H2>STRAIGHT BILL OF LADING - SHORT FORM</H2></td>
                </tr>
                <tr>
                    <td style="text-align: center"><h3>ORIGINAL-NON NEGOTIABLE</h3></td>
                </tr>
                <tr>
                    <td style="height:20px;">&nbsp;</td>
                </tr>
                <tr>
                    <td style="height:20px;">&nbsp;</td>
                </tr>
                <tr>
                    <td>
                        <table class="auto-style1">
                              <col width="10%">
                              <col width="40%">
                              <col width="10%">
                              <col width="40%">

                            <tr>
                                <td>BOL NBR:</td>
                                <td>10000</td>
                                <td>INCO Terms</td>
                                <td>test</td>
                            </tr>
                            <tr>
                                <td>DATE:</td>
                                <td>02/09/2018</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>TERMS:</td>
                                <td>Prepaid</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>CAREER:</td>
                                <td>FedEx India</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>SEC 7:</td>
                                <td>&nbsp;</td>
                                <td>Service Level</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>PU DATE</td>
                                <td>02/09/2018</td>
                                <td>PU Time</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>Shipper Address</td>
                                <td>CHRIS NISWANDEE</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                                <td>SMALLSYS INC</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td class="auto-style2"></td>
                                <td class="auto-style2">795 E DRAGRAM</td>
                                <td class="auto-style2"></td>
                                <td class="auto-style2"></td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                                <td>TUCSON AZ 85705</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                                <td>USA</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>Consignee Address</td>
                                <td>MARY ROE</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                                <td>MEGASYSTEMS INC</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                                <td>799 E DRAGRAM SUITE 5A</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                                <td>TUCSON AZ 85705</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                                <td>USA</td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                                <td></td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>Country</td>
                                <td></td>
                                <td>Destination Country</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                                <td></td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>Port</td>
                                <td></td>
                                <td>Destination Port</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                                <td></td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>Third Part Freight Charges Bill To</td>
                                <td></td>
                                <td>Issueing Office or Agent</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                                <td></td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td class="auto-style3" colspan="4"><h2>General Comments</h2></td>
                            </tr>
                            <tr>
                                <td colspan="4">&nbsp;</td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                                <td></td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td colspan="4">
                                    <table class="auto-style1">
                                        <tr>
                                            <td>PRODUCT CODE</td>
                                            <td colspan="3" style="text-align: center">DESCRIPTION</td>
                                            <td>LENGTH</td>
                                            <td>WEIGHT</td>
                                            <td>HEIGHT</td>
                                            <td>DIM UOM</td>
                                            <td>HAZMAT</td>
                                        </tr>
                                        <tr>
                                            <td>UOM</td>
                                            <td>NMFC NO</td>
                                            <td>NO OF Pallets</td>
                                            <td>CUBE</td>
                                            <td>WIDTH</td>
                                            <td>WEIGHT UOM</td>
                                            <td>BILL QTY</td>
                                            <td>BILL QTY UOM</td>
                                            <td>HAZMAT UN NO</td>
                                        </tr>
                                        <tr>
                                            <td>&nbsp;</td>
                                            <td>&nbsp;</td>
                                            <td>&nbsp;</td>
                                            <td>&nbsp;</td>
                                            <td>&nbsp;</td>
                                            <td>&nbsp;</td>
                                            <td>&nbsp;</td>
                                            <td>&nbsp;</td>
                                            <td>&nbsp;</td>
                                        </tr>
                                    </table>
                                </td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                                <td></td>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                        </table>
                    </td>
                </tr>

                <tr>
                    <td>&nbsp;</td>
                </tr>
                <tr>
                    <td>&nbsp;</td>
                </tr>

            </table>
        
        </div>

    </body>
    </html>


                                     
    • Moved by CoolDadTx Monday, July 23, 2018 1:45 PM ASP.NET related
    • Edited by Sudip_inn Sunday, September 2, 2018 6:30 PM
    Monday, July 23, 2018 12:07 PM

All replies

  • https://social.msdn.microsoft.com/Forums/vstudio/en-US/df14dc5f-982b-4676-b767-6123c8a90495/where-is-the-correct-place-to-make-posts-regarding-aspnet-mvc-webapi-and-core-sql-or-another?forum=csharpgeneral

    You should read it.

    Monday, July 23, 2018 12:16 PM
  • Please post questions related to AS.NET in the ASP.NET forums.

    Michael Taylor http://www.michaeltaylorp3.net

    Monday, July 23, 2018 1:44 PM