سلام
من با html.beginform یک مدل رو می فرستم به اکشنم و توی اون داده های مناسب رو میفرستم به stimvcviewer و وقتی تریس میکنم همه چی درسته ولی بعد از رد شدن از اکشن دوباره بر میگرده به همون اکشن و این دفعه مدل خالی . مشکل از کجاست ؟
ممنون از توجهتون
دوست من مثل این میمونه بگید پیدا کنید پرتغال فروش را
باید کدتون رو Trace کنید من نمیتونم حدس بزنم چه اتفاقی افتاده توی کد شما
ویو ارسال داده ها :
@using (Html.BeginForm("BankAccount_Report", "Report",FormMethod.Post,
new { id = "BankAccount_Report_form", enctype = "multipart/form-data", @class = "form-material m-t-40" }))
{
//@Html.AntiForgeryToken()
<div class="row show-grid">
<div class="form-group col-md-3">
@Html.LabelFor(model => model.RegisterDateFromStr, new { @class = "col-md-12" })
@Html.TextBoxFor(model => model.RegisterDateFromStr, new { MaxLength = 10, data_mask = "9999/99/99", @class = "form-control form-control-sm form-control-line persian-date" })
@Html.ValidationMessageFor(model => model.RegisterDateFromStr)
</div>
<div class="form-group col-md-3">
@Html.LabelFor(model => model.RegisterDateToStr, new { @class = "col-md-12" })
@Html.TextBoxFor(model => model.RegisterDateToStr, new { MaxLength = 10, data_mask = "9999/99/99", @class = "form-control form-control-sm form-control-line persian-date" })
@Html.ValidationMessageFor(model => model.RegisterDateToStr)
</div>
<div class="col-md-3">
<label>حساب ها</label>
@Html.DropDownListFor(model => model.TopicID, new SelectList(ViewBag.BankAccount, "id", "text"), "-- انتخاب نمایید --", new { MaxLength = 50, @class = "form-control form-control-sm form-control-line select2" })
@Html.ValidationMessageFor(model => model.TopicID)
</div>
</div>
<div class="clearfix"></div>
<div class="text-center">
<input type="submit" class="btn btn-primary" value="دریافت گزارش">
</div>
}
اکشن :
public ActionResult BankAccount_Report(VoucherReports voucherReport)
{
try
{
var specialtopic = new SpecialTopicBL().Get(a => a.ID == 1).SingleOrDefault();
List<VoucherDetailVm> LstvoucherDetailVm = GetFullVoucher(voucherReport, specialtopic);
int BedAmountSum = 0;
int BesAmountSum = 0;
foreach (var item in LstvoucherDetailVm)
{
BesAmountSum += int.Parse(item.voucherdetail_AmountBes.Replace(",", ""));
BedAmountSum += int.Parse(item.voucherdetail_AmountBed.Replace(",", ""));
}
if (LstvoucherDetailVm.Count() > 0)
{
MyCompany Company = SelectCompany();
StiReport report = new StiReport();
report.Load(Server.MapPath("~/Reports/BankAccountReport.mrt"));
report.Compile();
report["RegisterDateFrom"] = voucherReport.RegisterDateFromStr;
report["RegisterDateTo"] = voucherReport.RegisterDateToStr;
report["BedAmountSum"] = string.Format("{0:N0}", BedAmountSum);
report["BesAmountSum"] = string.Format("{0:N0}", BesAmountSum);
report.RegBusinessObject("Full_Voucher_Report", LstvoucherDetailVm);
report.RegBusinessObject("ReportHeader", Company);
return StiMvcViewer.GetReportSnapshotResult(report);
}
else
{
Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
return Content("موردی یافت نشد .", System.Net.Mime.MediaTypeNames.Text.Plain);
}
}
catch (Exception e)
{
Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
return Json("در بارگزاری داده ها مشکلی بوجود آمده است", System.Net.Mime.MediaTypeNames.Text.Plain);
}
}
ویو ریپورت :
<body>
<div>
@Html.Stimulsoft().StiMvcViewer(new StiMvcViewerOptions()
{
Theme = StiTheme.Office2013,
Actions =
{
GetReportSnapshot ="BankAccount_Report",
ViewerEvent = "ViewerEvent",
},
})
</div>
</body>
در ضمن من تریس کردم برای همین میگم دوبار توی تابع میره من سوالم اینکه روال همین رواله ؟