با سلام من تو برنامم از stimulSoft استفاده میکنم
public ActionResult Report() var report = new StiReport(); report.Load(Server.MapPath("~/Reports/Report.mrt")); report.Compile(); report.RegBusinessObject("dt",_saleRepository.GetLastOrderViewModelsReport(DateTime.Now)); return StiMvcViewer.GetReportSnapshotResult(HttpContext, report); }
این کد الان اوکیه و مشکلی نیست
اما وقتی مثلا اینجوری تغییرش میدم ارور میده
public ActionResult Report(DateTime dateTime) { var report = new StiReport(); report.Load(Server.MapPath("~/Reports/Report.mrt")); report.Compile(); report.RegBusinessObject("dt", _saleRepository.GetLastOrderViewModelsReport(dateTime)); return StiMvcViewer.GetReportSnapshotResult(HttpContext, report); }
این ارور در شرایطیه که اطلاعات صحیح داره واسه report فرستاده میشه اما نمیدونم چرا نمیتونه نشون بده!
کسی میتونه کمک کنه ؟
ارور 500 سمت سرور است
کدها رو Trace کنید تا ببینید در کدام خط و چه مشکلی داره
مرحله اول : مسیر
~/Reports/Report.mrt
رو چک کنید ببینید وجود دارد
مرحله دوم : احتمال دارد dt رو سما استیمول درست اجاد نکرده باشید
آقای مدائنی من یه نکته ای برام الان مبهمه
میشه راهنماییم بفرمایید ؟
ببینید طبق آموزش شما و مطالب توی سایت
یه view داریم که توش اطلاعات نمایش گزارش رو نشون میدیم مثل تم و نام گزارش و اینها
حالا یه کنترلر هم داریم که اطلاعات رو میفرسته به همون view
درسته ؟
حالا وقتی من میخوام یه تاریخ مثلا گزارش بر حسب روز انتخابی رو بسازم طبیعطا باید تاریخ مورد نظرم رو بفرستم به کنترلر ؟
در حالی که گزارش stimulSoft اول view باز میشه بعد این view میره اطلاعات رو از کنترلر میاره
حالا من تاریخ مورد نظرم رو باید بفرستم به view بعد با از view بفرستم تو کنترلر ؟
خیر اول باز گزارش باز نمیشه
بعد از انتصاب اطللاعات در RegData ما Show را راخوانی میکنیم
پس قبلش از نمایش اطلاعات را ارسال میکنیم
ببینید من یه actionlink میزارم توی صفحه که بره به صفحه نمایش گزارش درسته ؟
من اطلاعاتی نمیفرستم به کنترلر که
گزارش طبق همون regDate که قبلا توی کنترلر تنظیم شده اطلاعات رو توی view نمایش میده .
حالا من تاریخ مورد نظرم رو چجوری بفرستم به کنترلر من چیزی به کنترلر ارسال نمیکنم خود گزارش میره طبق regData اطلاعات رو میخونه
شما تاریخ رو به ورودی اکشن میفرستی ، اکشن بر اساس تاریخ اطلاعات را از بانک یا منبع واکشی میکنه میفرسته به گزارش .
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)