.求大神呀,MVC3下,RedirectToAction();跳不过去,很蛋疼很纠结。

快乐是看你满足 2013-06-25 10:53:36
[HttpPost]
public ActionResult AffairsMedical(FormCollection from)
{
var customer = _workContext.CurrentCustomer;
string company = customer.GetAttribute<string>(SystemCustomerAttributeNames.Company);
if (!string.IsNullOrEmpty(company) && company.IndexOf("-") > 0)
{
company = company.Substring(0, company.IndexOf("-"));
}

List<InsSupplementaryMedical> listIE = _premiumService.GetListSupplementaryMedical(company);
//Hr 合并
if (customer.CompanyID == customer.AreaId)
{
List<Organization> listO = _organization.GetListOrganizationBySuperiorsId((int)customer.CompanyID);
List<InsAffairs> listIA = _premiumService.GetAffairs(company, "补充医疗险", 1, 0);
if (listO.Count == listIA.Count)
{
if (listIA.Count > 1)
{
InsAffairs model = new InsAffairs();
model.CompanyName = company;
model.CreatedName = customer.FullName;
model.InsuranceName = "补充医疗险";
model.CreatedTime = DateTime.Now;
model.ApplicationYear = DateTime.Now.Year - 1;
model.Status = 1;
model.AmalgamateId = customer.CompanyID;
_premiumService.insertAffairs(model);
List<InsAffairs> affmax = _premiumService.GetAffairs(company, "补充医疗险", 1, (int)customer.CompanyID);
foreach (InsSupplementaryMedical IE in listIE)
{
IE.IsStatus = affmax[0].Id;
_premiumService.UpdateInsSupplementaryMedical(IE);
}
return RedirectToAction("AffairsMedical");
}
else
{
return Content(@"<script>alert('至少有2条数据时,才能发起合并!');window.location.href='AffairsMedical';</script>");
}
}
else if (listO.Count < listIA.Count)
{
return Content(@"<script>alert('已合并!');window.location.href='AffairsMedical';</script>");
}
else
{
return Content(@"<script>alert('请确认是否所有区域Hr已提交!');window.location.href='AffairsMedical';</script>");
}

}
else
{
if (listIE.Count != 0 && company != null)
{
List<InsAffairs> isAff = _premiumService.GetAffairs(company, "补充医疗险", 0, (int)customer.AreaId);

if (isAff.Count == 0)
{
InsAffairs model = new InsAffairs();
model.CompanyName = company;
model.CreatedName = customer.FullName;
model.InsuranceName = "补充医疗险";
model.CreatedTime = DateTime.Now;
model.ApplicationYear = DateTime.Now.Year - 1;
model.Status = 0;
model.AmalgamateId = customer.AreaId;
_premiumService.insertAffairs(model);
List<InsAffairs> aff = _premiumService.GetAffairs(company, "补充医疗险", 0, (int)customer.AreaId);
List<Customer> ListC = _customerService.GetListCustomersByAreald((int)customer.AreaId);
foreach (Customer Cs in ListC)
{
foreach (InsSupplementaryMedical iel in listIE)
{
if (Cs.IDNo == iel.IdNum)
{
iel.IsStatus = aff[0].Id;
iel.AmalgamateStatus = aff[0].Id;
iel.Year = DateTime.Now.Year;
_premiumService.insertMedicalLiability(iel);
}
}
}

}
return RedirectToAction("AffairsMedical");
}
else
{
return Content(@"<script>alert('上一年没有相关数据,无法发起申请!');window.location.href='AffairsMedical';</script>");
}
}
}

if (customer.CompanyID == customer.AreaId)
是用来判断是Hr管理员还是区域管理员,如果是Hr进if,否则进else,
其中区域管理员点击按钮时,2个foreach完了后,return RedirectToAction("AffairsMedical");
能跳到[HttpGet]AffairsMedical();但是为什么Hr管理员点进来上面foreach完了后就是不跳,页面一直显示等待。我在[HttpGet]AffairsMedical();加了断点,f5一按直接就没跳进去,但是在区域管理员的时候又没问题。但是循环里面的修改硬是都执行了,在页面手动刷新显示的东西是没问题的。
...全文
194 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
已解决,果断是数据库数据的问题,删了一大版垃圾数据就ok了。
  • 打赏
  • 举报
回复
如果怀疑是循环的问题,那你可以去掉循环,试试,看是不是执行时间的问题
我姓区不姓区 2013-06-25
  • 打赏
  • 举报
回复
_premiumService.UpdateInsSupplementaryMedical(IE); 都做什么操作了?更新数据库?4000+的数据,那得执行多长时间啊?光数据库连接都得打开关闭多少次? 为什么不批量执行?
  • 打赏
  • 举报
回复
感觉是这循环坑的,不过又没报错呀,
  • 打赏
  • 举报
回复
引用 2 楼 Return_false 的回复:
放眼望去,看着没什么问题,跟着断点一步一步走,看看
调过了,断点加到foreach里面1个f5都能进里面,然后return再加一个,f5直接就没到, 循环有4000+数据,调试到循环里面的时候,我直接拖到return前面,再按又可以跳action, 就是f5直接按过去就不跳这很蛋疼呀。
  • 打赏
  • 举报
回复
引用 1 楼 ojlovecd 的回复:
加断点调试一下,看看执行到哪里卡住了
调过了,断点加到foreach里面1个f5都能进里面,然后return再加一个,f5直接就没到, 循环有4000+数据,调试到循环里面的时候,我直接拖到return前面,再按又可以跳action, 就是f5直接按过去就不跳这很蛋疼呀。
  • 打赏
  • 举报
回复
放眼望去,看着没什么问题,跟着断点一步一步走,看看
我姓区不姓区 2013-06-25
  • 打赏
  • 举报
回复
加断点调试一下,看看执行到哪里卡住了

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧