在controller里面弹窗不执行

来源:互联网 发布:javascript map reduce 编辑:程序博客网 时间:2024/05/18 01:47
       今天写了个简单的表单提交功能,post到后台处理,添加成功后弹窗提示。但是实际却一直没办法弹窗,查了好久却一直都不知道什么原因导致的。明明以前直接使用
Response.Write("<script language='javascript'>alert('添加成功!');location.href='/client';</script>");

都能正确执行的。可是这次又是什么原因呢?

      我设计的界面包含了一个文本框字段和三级地区联动。

        因此我在初始化的时候,先检索了地区列表放入到viewbag类型里头。然后views层里面在使用js处理联动。然后我post后的controller里头并没有在提取地区列表。【当然最终排查出来是这货导致的。不过还是讲讲自己是怎么查找的。虽然啰嗦了些】

        代码大致走向:       

        public ActionResult addCompany()        {            ......            ViewBag.alist = bBll.GetList<a_area>("");            return View();        }        [HttpPost]        public ActionResult addCompany(string Team_rName, long province, long city, long county, long village = 0)        {            ......            cModel.id = gd;            cModel.rName = Team_rName;            cModel.areaid1 = province;            cModel.areaid2 = city;            cModel.areaid3 = county;            cModel.areaid4 = village;            cModel.areaname1 = areaname1;            cModel.areaname2 = areaname2;            cModel.areaname3 = areaname3;            cModel.areaname4 = areaname4;            cBll.Add(cModel);            //return Content("<script>alert('添加成功!');window.location.href='/client';</script>");            Response.Write("<script language='javascript'>alert('添加成功!');location.href='/client';</script>");            return View();        }


1、我先吧post处理方法里头的所有代码都清空,只弹窗,但是遗憾还是不行。

2、依稀记的以前都是可以的,不过初始化的控制器都是放空的。于是又吧所有的代码都注释掉了,views层里头处理三级联动也全部隐藏,果真就成功弹窗了,皆大欢喜!

这么总结了下就是三级联动这里出问题,但是我的想法是理论上在后台处理表单程序应该没必要在检索地区了,直接处理完后跳转链接就完事了丫。可实际却是失望的。于是我就在post里头在检索了一遍地区列表数据,果然弹窗成功了!【但是不明白啊,纠结尴尬


最终解决方案就是在post方法里头也吧地区列表检索出来,【值得一提,

return Content("<script>alert('添加成功!');window.location.href='/client';</script>");

这里使用return content(//这里弹窗,竟然可以不用在检索列表。这个也是我不理解的地方)


       

0 0