با سلام
من میخوام از بخشی از سایت پرینت بگیرم با جاوا اسکریپت
این کدو نوشتم:
<script> function printDiv(divName) { var printContents = document.getElementById(divName).innerHTML; var originalContents = document.body.innerHTML; document.body.innerHTML = printContents; window.print(); document.body.innerHTML = originalContents; } </script>
توضیحش اینه که من یه تیبل دارم که داخل یه div با آیدی content به میاد از محتوای این div که تیبل باشه پرینت میگیره
اما مشکل اینجاست که تیبل من یه سری استایل داره (CSS) و پرینت من خیلی ساده و بدون اون استایل هاست.
اگر بشه PDF اون بخش از صفحه رو هم بهش بدم خوبه ولی با گرافیک و استایل هاش.
به نظر من بهتره برای چاپ یک صفحه جدا با استایلهای مورد نیاز ایجاد کنید و بعد از زدن کلید چاپ اون صفحه رو برای چاپ نمایش دهید
واگر هم نیخواهید همین صفحه باشه و از لود مجدد اطلاعات جلوگیری کنید بهتره تبدیل به PDF کنید و بعد چاپ کنید
دستت درد نکنه
من دارم از بانک میخونم و یه ViewModel رو دارم پر میکنم
public ActionResult PrintServicePDF(int id) { ServiceRepository BlService = new ServiceRepository(); FeatureRepository BlFeature = new FeatureRepository(); var Service = BlService.Where(p => p.ServiceId == id).Single(); List<tblFeature> Features = new List<tblFeature>(); Features = BlFeature.Where(p => p.ServiceId == id).ToList(); DetailsServiceViewModel model = new DetailsServiceViewModel(); model.Service = new tblService(); model.Features = new List<tblFeature>(); model.Service = Service; model.Features = Features; _ServicePrint = new DetailsServiceViewModel(); _ServicePrint.Service = new tblService(); _ServicePrint.Features = new List<tblFeature>(); _ServicePrint.Service = Service; _ServicePrint.Features = Features; return new ActionAsPdf("CreatePDF",_ServicePrint); } public ActionResult CreatePDF() { return View(_ServicePrint); }
من _ServicePrint رو تو اکشن اول پر میکنم ولی وقتی میاد به اکشن دوم null ه
واسه همین خطا دارم
درست شد آقای مدائنی
تشکر
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)