TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
L A
NA
170
171.6k
Export data as PDF Using JQuery In ASP.NET MVC
Nov 27 2017 4:07 PM
Hello,
I'm actually following http://www.c-sharpcorner.com/article/basic-pdf-export-using-jquery-in-asp-net-mvc-razor/ article to bind data from controllers action to HTML table and then export data from HTML table to iTextSharp pdf viewer. Below i'm binding controllers action method data to html table.
@model List
<
ExportDataAsPDFAppl.Controllers.Employees
>
@using (Html.BeginForm("exportPDF", "Home", FormMethod.Post))
{
<
div
>
<
input
type
=
"hidden"
name
=
"gridHTML"
/>
<
input
type
=
"submit"
id
=
"btnExportHTML"
name
=
"btnExportHTML"
class
=
"btn btn-success"
value
=
"Export Pdf"
/>
</
div
>
<
div
id
=
"tblEmpData"
>
<
table
class
=
"table table-striped table-condensed"
>
<
thead
>
<
tr
>
<
th
>
ID
</
th
>
<
th
>
FirstName
</
th
>
<
th
>
LastName
</
th
>
<
th
>
Gender
</
th
>
<
th
>
Salary
</
th
>
</
tr
>
</
thead
>
<
tbody
>
@foreach (var item in Model)
{
<
tr
>
<
td
>
@item.ID
</
td
>
<
td
>
@item.FirstName
</
td
>
<
td
>
@item.LastName
</
td
>
<
td
>
@item.Gender
</
td
>
<
td
>
@item.Salary
</
td
>
</
tr
>
}
</
tbody
>
</
table
>
</
div
>
}
In btnExportHTML jQuery click function, hidden variable gridHTML is binded with HTML table.
<script type=
"text/javascript"
>
$(document).ready(
function
() {
$(
'#btnExportHTML'
).click(
function
() {
debugger
;
$(
"input[name='gridHTML']"
).val($(
"#tblEmpData"
).html());
});
});
</script>
But on export 'btnExportHTML' click,
HTTP 404 error is raised.
Below is actionMethod for button click.
[HttpPost]
[ValidateInput(
false
)]
private
FileResult exportPDF(
string
gridHTML)
{
StringReader reader =
null
;
Document pdfDoc =
null
;
PdfWriter write =
null
;
try
{
using
(MemoryStream memorystream =
new
MemoryStream())
{
reader =
new
StringReader(gridHTML);
pdfDoc =
new
Document(PageSize.A4, 5f, 5f, 5f, 5f);
write = PdfWriter.GetInstance(pdfDoc, memorystream);
pdfDoc.Open();
XMLWorkerHelper.GetInstance().ParseXHtml(write, pdfDoc, reader);
pdfDoc.Close();
return
File(memorystream.ToArray(),
"application/pdf"
, Convert.ToString(DateTime.Now +
".pdf"
));
}
}
finally
{
reader.Dispose();
pdfDoc.Dispose();
write.Dispose();
}
}
please let me know my mistake to solve this issue.
Reply
Answers (
7
)
SSRS 2008 issue in ASP.net web application
Remove white spaces from detail section of crystal report