Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MVC-无法刷新ajax请求后的页面_Javascript_Jquery_Asp.net_Ajax_Asp.net Mvc - Fatal编程技术网

Javascript MVC-无法刷新ajax请求后的页面

Javascript MVC-无法刷新ajax请求后的页面,javascript,jquery,asp.net,ajax,asp.net-mvc,Javascript,Jquery,Asp.net,Ajax,Asp.net Mvc,在我的视图页面上,我通过ajax请求将一些值传递给控制器,在控制器操作中,检查后,将消息值重定向到视图的控制器。将消息添加到模型中,并使用新的模型值重新查看pasisng模型。第二次(回发)时,模型值作为Json传递给视图,但新的模型值(即消息)javascript无法捕获。在我的代码中,它是Model.INFO $.ajax({ type: "POST", url: '@Url.Action("TeamSaveChanges",

在我的视图页面上,我通过ajax请求将一些值传递给控制器,在控制器操作中,检查后,将消息值重定向到视图的控制器。将消息添加到模型中,并使用新的模型值重新查看pasisng模型。第二次(回发)时,模型值作为Json传递给视图,但新的模型值(即消息)javascript无法捕获。在我的代码中,它是Model.INFO

        $.ajax({
            type: "POST",
            url: '@Url.Action("TeamSaveChanges", "Administrator")',
            data: {
                ID: '@Model.ID',
                doctorID: doctorValue,
                nurseID:nurseValue,
                driverID:driverValue,
                technicianID: technicianValue

            },
            dataType: "text",
            success: function () { alert("@Model.INFO")},
           error: function () { alert("Error occured!!!") }
        });
 public ActionResult TeamSaveChanges(Guid ID, Guid? doctorID, Guid? nurseID, Guid? driverID, Guid? technicianID)
    {
        try
        {

            using (var client = SoapProxyFactory.CreateDSrvGDSoapClient())
            {
                var emptyTeam = Guid.Empty;
                var ambID = client.getAmbulanceIDbyTeamID(ID);
                var baseresult = client.checkAmblanceTeamsforDuplicateMembers(ambID, ID);


                if (doctorID == emptyTeam && nurseID == emptyTeam &&   driverID == emptyTeam  && technicianID == emptyTeam  )
                {
                    var result = client.EditTeamMembers(ID, doctorID, nurseID, driverID, technicianID);
                    if (result)
                        throw new Exception("saved");
                }
                else 
                {
                    foreach (var item in baseresult)
                {
                        if(item.DOCTORCODE == doctorID && item.NURSECODE == nurseID &&  item.DRIVERCODE == driverID && item.TECHNICIANCODE == technicianID)
                            throw new Exception("The team with Same Members is exist." + "<p>(" + item.TEAMCODE + ")</p>");
                    }

                    var result = client.EditTeamMembers(ID, doctorID, nurseID, driverID, technicianID);
                    if (result)
                        throw new Exception("saved");
                }       
                  catch (Exception exp)
        {
            string message = exp.Message;
            return RedirectToAction("TeamMembers", "Administrator", new { ID = ID, message = message });


        }

   [OutputCache(Location = System.Web.UI.OutputCacheLocation.None)]
    public ActionResult TeamMembers(Guid? ID,string message)
    {
        try
        {
            if (!ID.HasValue())
               return RedirectToAction("Ambulance");


            using (var client = SoapProxyFactory.CreateDSrvALLSoapClient())
            {
               Guid id  = ID.Value;

                var clientGD = SoapProxyFactory.CreateDSrvGDSoapClient();
               var result = client.GetTeamMembers(id);
               result.INFO = message;
                if (message != null)
               {
                   result.INFO = message;
                   return  Json(result,JsonRequestBehavior.AllowGet);
               }

             return View(result);
            }

        }
控制器

 public ActionResult TeamSaveChanges(Guid ID, Guid? doctorID, Guid? nurseID, Guid? driverID, Guid? technicianID)
    {
        try
        {

            using (var client = SoapProxyFactory.CreateDSrvGDSoapClient())
            {
                var emptyTeam = Guid.Empty;
                var ambID = client.getAmbulanceIDbyTeamID(ID);
                var baseresult = client.checkAmblanceTeamsforDuplicateMembers(ambID, ID);


                if (doctorID == emptyTeam && nurseID == emptyTeam &&   driverID == emptyTeam  && technicianID == emptyTeam  )
                {
                    var result = client.EditTeamMembers(ID, doctorID, nurseID, driverID, technicianID);
                    if (result)
                        throw new Exception("saved");
                }
                else 
                {
                    foreach (var item in baseresult)
                {
                        if(item.DOCTORCODE == doctorID && item.NURSECODE == nurseID &&  item.DRIVERCODE == driverID && item.TECHNICIANCODE == technicianID)
                            throw new Exception("The team with Same Members is exist." + "<p>(" + item.TEAMCODE + ")</p>");
                    }

                    var result = client.EditTeamMembers(ID, doctorID, nurseID, driverID, technicianID);
                    if (result)
                        throw new Exception("saved");
                }       
                  catch (Exception exp)
        {
            string message = exp.Message;
            return RedirectToAction("TeamMembers", "Administrator", new { ID = ID, message = message });


        }

   [OutputCache(Location = System.Web.UI.OutputCacheLocation.None)]
    public ActionResult TeamMembers(Guid? ID,string message)
    {
        try
        {
            if (!ID.HasValue())
               return RedirectToAction("Ambulance");


            using (var client = SoapProxyFactory.CreateDSrvALLSoapClient())
            {
               Guid id  = ID.Value;

                var clientGD = SoapProxyFactory.CreateDSrvGDSoapClient();
               var result = client.GetTeamMembers(id);
               result.INFO = message;
                if (message != null)
               {
                   result.INFO = message;
                   return  Json(result,JsonRequestBehavior.AllowGet);
               }

             return View(result);
            }

        }
public ActionResult TeamSaveChanges(Guid-ID、Guid-doctorID、Guid-nurseID、Guid-driverID、Guid-technicianID)
{
尝试
{
使用(var client=SoapProxyFactory.CreateDSrvGDSoapClient())
{
var emptyTeam=Guid.Empty;
var ambID=client.getAmbunceIDByteMid(ID);
var baseresult=client.checkAmblanceTeamsforDuplicateMembers(ambID,ID);
如果(doctorID==emptyTeam&&nurseID==emptyTeam&&driverID==emptyTeam&&technicianID==emptyTeam)
{
var result=client.EditTeamMembers(ID、doctorID、nurseID、driverID、technicianID);
如果(结果)
抛出新异常(“已保存”);
}
其他的
{
foreach(baseresult中的var项)
{
if(item.DOCTORCODE==doctorID&&item.NURSECODE==nurseID&&item.DRIVERCODE==driverID&&item.TECHNICIANCODE==technicianID)
抛出新异常(“存在具有相同成员的团队。”+”(“+item.TEAMCODE+”

);
 public ActionResult TeamSaveChanges(Guid ID, Guid? doctorID, Guid? nurseID, Guid? driverID, Guid? technicianID)
    {
        try
        {

            using (var client = SoapProxyFactory.CreateDSrvGDSoapClient())
            {
                var emptyTeam = Guid.Empty;
                var ambID = client.getAmbulanceIDbyTeamID(ID);
                var baseresult = client.checkAmblanceTeamsforDuplicateMembers(ambID, ID);


                if (doctorID == emptyTeam && nurseID == emptyTeam &&   driverID == emptyTeam  && technicianID == emptyTeam  )
                {
                    var result = client.EditTeamMembers(ID, doctorID, nurseID, driverID, technicianID);
                    if (result)
                        throw new Exception("saved");
                }
                else 
                {
                    foreach (var item in baseresult)
                {
                        if(item.DOCTORCODE == doctorID && item.NURSECODE == nurseID &&  item.DRIVERCODE == driverID && item.TECHNICIANCODE == technicianID)
                            throw new Exception("The team with Same Members is exist." + "<p>(" + item.TEAMCODE + ")</p>");
                    }

                    var result = client.EditTeamMembers(ID, doctorID, nurseID, driverID, technicianID);
                    if (result)
                        throw new Exception("saved");
                }       
                  catch (Exception exp)
        {
            string message = exp.Message;
            return RedirectToAction("TeamMembers", "Administrator", new { ID = ID, message = message });


        }

   [OutputCache(Location = System.Web.UI.OutputCacheLocation.None)]
    public ActionResult TeamMembers(Guid? ID,string message)
    {
        try
        {
            if (!ID.HasValue())
               return RedirectToAction("Ambulance");


            using (var client = SoapProxyFactory.CreateDSrvALLSoapClient())
            {
               Guid id  = ID.Value;

                var clientGD = SoapProxyFactory.CreateDSrvGDSoapClient();
               var result = client.GetTeamMembers(id);
               result.INFO = message;
                if (message != null)
               {
                   result.INFO = message;
                   return  Json(result,JsonRequestBehavior.AllowGet);
               }

             return View(result);
            }

        }
} var result=client.EditTeamMembers(ID、doctorID、nurseID、driverID、technicianID); 如果(结果) 抛出新异常(“已保存”); } 捕获(异常扩展) { 字符串消息=exp.消息; 返回RedirectToAction(“团队成员”、“管理员”,新建{ID=ID,message=message}); } [OutputCache(Location=System.Web.UI.OutputCacheLocation.None)] 公共ActionResult团队成员(Guid?ID,字符串消息) { 尝试 { 如果(!ID.HasValue()) 返回行动(“救护车”); 使用(var client=SoapProxyFactory.CreateDSrvALLSoapClient()) { Guid id=id.值; var clientGD=SoapProxyFactory.CreateDSrvGDSoapClient(); var result=client.GetTeamMembers(id); result.INFO=消息; 如果(消息!=null) { result.INFO=消息; 返回Json(结果,JsonRequestBehavior.AllowGet); } 返回视图(结果); } }
此行:

 public ActionResult TeamSaveChanges(Guid ID, Guid? doctorID, Guid? nurseID, Guid? driverID, Guid? technicianID)
    {
        try
        {

            using (var client = SoapProxyFactory.CreateDSrvGDSoapClient())
            {
                var emptyTeam = Guid.Empty;
                var ambID = client.getAmbulanceIDbyTeamID(ID);
                var baseresult = client.checkAmblanceTeamsforDuplicateMembers(ambID, ID);


                if (doctorID == emptyTeam && nurseID == emptyTeam &&   driverID == emptyTeam  && technicianID == emptyTeam  )
                {
                    var result = client.EditTeamMembers(ID, doctorID, nurseID, driverID, technicianID);
                    if (result)
                        throw new Exception("saved");
                }
                else 
                {
                    foreach (var item in baseresult)
                {
                        if(item.DOCTORCODE == doctorID && item.NURSECODE == nurseID &&  item.DRIVERCODE == driverID && item.TECHNICIANCODE == technicianID)
                            throw new Exception("The team with Same Members is exist." + "<p>(" + item.TEAMCODE + ")</p>");
                    }

                    var result = client.EditTeamMembers(ID, doctorID, nurseID, driverID, technicianID);
                    if (result)
                        throw new Exception("saved");
                }       
                  catch (Exception exp)
        {
            string message = exp.Message;
            return RedirectToAction("TeamMembers", "Administrator", new { ID = ID, message = message });


        }

   [OutputCache(Location = System.Web.UI.OutputCacheLocation.None)]
    public ActionResult TeamMembers(Guid? ID,string message)
    {
        try
        {
            if (!ID.HasValue())
               return RedirectToAction("Ambulance");


            using (var client = SoapProxyFactory.CreateDSrvALLSoapClient())
            {
               Guid id  = ID.Value;

                var clientGD = SoapProxyFactory.CreateDSrvGDSoapClient();
               var result = client.GetTeamMembers(id);
               result.INFO = message;
                if (message != null)
               {
                   result.INFO = message;
                   return  Json(result,JsonRequestBehavior.AllowGet);
               }

             return View(result);
            }

        }
success: function () { alert("@Model.INFO")},
将只拉入模型的信息一次,因为它在客户端中呈现服务器值。如果您希望它更改,则必须将结果传递回success,并接受新值:

 public ActionResult TeamSaveChanges(Guid ID, Guid? doctorID, Guid? nurseID, Guid? driverID, Guid? technicianID)
    {
        try
        {

            using (var client = SoapProxyFactory.CreateDSrvGDSoapClient())
            {
                var emptyTeam = Guid.Empty;
                var ambID = client.getAmbulanceIDbyTeamID(ID);
                var baseresult = client.checkAmblanceTeamsforDuplicateMembers(ambID, ID);


                if (doctorID == emptyTeam && nurseID == emptyTeam &&   driverID == emptyTeam  && technicianID == emptyTeam  )
                {
                    var result = client.EditTeamMembers(ID, doctorID, nurseID, driverID, technicianID);
                    if (result)
                        throw new Exception("saved");
                }
                else 
                {
                    foreach (var item in baseresult)
                {
                        if(item.DOCTORCODE == doctorID && item.NURSECODE == nurseID &&  item.DRIVERCODE == driverID && item.TECHNICIANCODE == technicianID)
                            throw new Exception("The team with Same Members is exist." + "<p>(" + item.TEAMCODE + ")</p>");
                    }

                    var result = client.EditTeamMembers(ID, doctorID, nurseID, driverID, technicianID);
                    if (result)
                        throw new Exception("saved");
                }       
                  catch (Exception exp)
        {
            string message = exp.Message;
            return RedirectToAction("TeamMembers", "Administrator", new { ID = ID, message = message });


        }

   [OutputCache(Location = System.Web.UI.OutputCacheLocation.None)]
    public ActionResult TeamMembers(Guid? ID,string message)
    {
        try
        {
            if (!ID.HasValue())
               return RedirectToAction("Ambulance");


            using (var client = SoapProxyFactory.CreateDSrvALLSoapClient())
            {
               Guid id  = ID.Value;

                var clientGD = SoapProxyFactory.CreateDSrvGDSoapClient();
               var result = client.GetTeamMembers(id);
               result.INFO = message;
                if (message != null)
               {
                   result.INFO = message;
                   return  Json(result,JsonRequestBehavior.AllowGet);
               }

             return View(result);
            }

        }
success: function (d) { alert(d); },
要向其返回值,必须从操作返回:

 public ActionResult TeamSaveChanges(Guid ID, Guid? doctorID, Guid? nurseID, Guid? driverID, Guid? technicianID)
    {
        try
        {

            using (var client = SoapProxyFactory.CreateDSrvGDSoapClient())
            {
                var emptyTeam = Guid.Empty;
                var ambID = client.getAmbulanceIDbyTeamID(ID);
                var baseresult = client.checkAmblanceTeamsforDuplicateMembers(ambID, ID);


                if (doctorID == emptyTeam && nurseID == emptyTeam &&   driverID == emptyTeam  && technicianID == emptyTeam  )
                {
                    var result = client.EditTeamMembers(ID, doctorID, nurseID, driverID, technicianID);
                    if (result)
                        throw new Exception("saved");
                }
                else 
                {
                    foreach (var item in baseresult)
                {
                        if(item.DOCTORCODE == doctorID && item.NURSECODE == nurseID &&  item.DRIVERCODE == driverID && item.TECHNICIANCODE == technicianID)
                            throw new Exception("The team with Same Members is exist." + "<p>(" + item.TEAMCODE + ")</p>");
                    }

                    var result = client.EditTeamMembers(ID, doctorID, nurseID, driverID, technicianID);
                    if (result)
                        throw new Exception("saved");
                }       
                  catch (Exception exp)
        {
            string message = exp.Message;
            return RedirectToAction("TeamMembers", "Administrator", new { ID = ID, message = message });


        }

   [OutputCache(Location = System.Web.UI.OutputCacheLocation.None)]
    public ActionResult TeamMembers(Guid? ID,string message)
    {
        try
        {
            if (!ID.HasValue())
               return RedirectToAction("Ambulance");


            using (var client = SoapProxyFactory.CreateDSrvALLSoapClient())
            {
               Guid id  = ID.Value;

                var clientGD = SoapProxyFactory.CreateDSrvGDSoapClient();
               var result = client.GetTeamMembers(id);
               result.INFO = message;
                if (message != null)
               {
                   result.INFO = message;
                   return  Json(result,JsonRequestBehavior.AllowGet);
               }

             return View(result);
            }

        }
return Content("SOMEVAL"); // or PartialView or something that is string data

但是,重定向到操作不会向调用者返回响应,并且可能无法通过AJAX正确处理,因此我不能100%确定问题是什么…

为什么要使用AJAX进行此操作?发生的情况是,您的脚本向您的控制器发出请求,将响应作为数据发送回,而不是重定向到n电子战网页

 public ActionResult TeamSaveChanges(Guid ID, Guid? doctorID, Guid? nurseID, Guid? driverID, Guid? technicianID)
    {
        try
        {

            using (var client = SoapProxyFactory.CreateDSrvGDSoapClient())
            {
                var emptyTeam = Guid.Empty;
                var ambID = client.getAmbulanceIDbyTeamID(ID);
                var baseresult = client.checkAmblanceTeamsforDuplicateMembers(ambID, ID);


                if (doctorID == emptyTeam && nurseID == emptyTeam &&   driverID == emptyTeam  && technicianID == emptyTeam  )
                {
                    var result = client.EditTeamMembers(ID, doctorID, nurseID, driverID, technicianID);
                    if (result)
                        throw new Exception("saved");
                }
                else 
                {
                    foreach (var item in baseresult)
                {
                        if(item.DOCTORCODE == doctorID && item.NURSECODE == nurseID &&  item.DRIVERCODE == driverID && item.TECHNICIANCODE == technicianID)
                            throw new Exception("The team with Same Members is exist." + "<p>(" + item.TEAMCODE + ")</p>");
                    }

                    var result = client.EditTeamMembers(ID, doctorID, nurseID, driverID, technicianID);
                    if (result)
                        throw new Exception("saved");
                }       
                  catch (Exception exp)
        {
            string message = exp.Message;
            return RedirectToAction("TeamMembers", "Administrator", new { ID = ID, message = message });


        }

   [OutputCache(Location = System.Web.UI.OutputCacheLocation.None)]
    public ActionResult TeamMembers(Guid? ID,string message)
    {
        try
        {
            if (!ID.HasValue())
               return RedirectToAction("Ambulance");


            using (var client = SoapProxyFactory.CreateDSrvALLSoapClient())
            {
               Guid id  = ID.Value;

                var clientGD = SoapProxyFactory.CreateDSrvGDSoapClient();
               var result = client.GetTeamMembers(id);
               result.INFO = message;
                if (message != null)
               {
                   result.INFO = message;
                   return  Json(result,JsonRequestBehavior.AllowGet);
               }

             return View(result);
            }

        }

只需创建一个表单,以典型的MVC方式将这些变量发布到控制器,您就会得到想要的结果。

这是一个带有值和保存按钮的组合框页面。在组合框上选择值后,单击保存,值将通过ajax传递给控制器。我需要使用ajax,因为组合框小部件基于javascript(KendoUI)。当combobox上有一个值select时,捕捉到它的是select事件并进行一些处理。然后通过Ajax发送数据。然后,您应该在成功处理程序中使用在客户端执行重定向。是的,这正是我要寻找的。我只需要(JSON.parse)解析返回的数据并获取值。
 public ActionResult TeamSaveChanges(Guid ID, Guid? doctorID, Guid? nurseID, Guid? driverID, Guid? technicianID)
    {
        try
        {

            using (var client = SoapProxyFactory.CreateDSrvGDSoapClient())
            {
                var emptyTeam = Guid.Empty;
                var ambID = client.getAmbulanceIDbyTeamID(ID);
                var baseresult = client.checkAmblanceTeamsforDuplicateMembers(ambID, ID);


                if (doctorID == emptyTeam && nurseID == emptyTeam &&   driverID == emptyTeam  && technicianID == emptyTeam  )
                {
                    var result = client.EditTeamMembers(ID, doctorID, nurseID, driverID, technicianID);
                    if (result)
                        throw new Exception("saved");
                }
                else 
                {
                    foreach (var item in baseresult)
                {
                        if(item.DOCTORCODE == doctorID && item.NURSECODE == nurseID &&  item.DRIVERCODE == driverID && item.TECHNICIANCODE == technicianID)
                            throw new Exception("The team with Same Members is exist." + "<p>(" + item.TEAMCODE + ")</p>");
                    }

                    var result = client.EditTeamMembers(ID, doctorID, nurseID, driverID, technicianID);
                    if (result)
                        throw new Exception("saved");
                }       
                  catch (Exception exp)
        {
            string message = exp.Message;
            return RedirectToAction("TeamMembers", "Administrator", new { ID = ID, message = message });


        }

   [OutputCache(Location = System.Web.UI.OutputCacheLocation.None)]
    public ActionResult TeamMembers(Guid? ID,string message)
    {
        try
        {
            if (!ID.HasValue())
               return RedirectToAction("Ambulance");


            using (var client = SoapProxyFactory.CreateDSrvALLSoapClient())
            {
               Guid id  = ID.Value;

                var clientGD = SoapProxyFactory.CreateDSrvGDSoapClient();
               var result = client.GetTeamMembers(id);
               result.INFO = message;
                if (message != null)
               {
                   result.INFO = message;
                   return  Json(result,JsonRequestBehavior.AllowGet);
               }

             return View(result);
            }

        }