C# 如何从ajax命令调用的类内部重定向到新页面?

C# 如何从ajax命令调用的类内部重定向到新页面?,c#,asp.net,ajax,asp.net-mvc,redirect,C#,Asp.net,Ajax,Asp.net Mvc,Redirect,我正在处理一个asp.NETMVC项目。一位同事是MVC新手,他使用ajax调用处理所有数据填充和单击操作。我知道MVC不应该这样设置,但这是我一直坚持的。我只是想尽力解决这个问题。无论如何,在ajax使用的方法中,我需要将用户重定向到新页面。我该怎么做 我尝试了响应。重定向,但我得到一个错误,说它不存在。我试图添加一个使用类,但无法使其工作 我找到System.Diagnostics.Process.Start,但它会在新的浏览器选项卡中打开。是否有可能在同一选项卡中打开 这里是ajax调用。

我正在处理一个asp.NETMVC项目。一位同事是MVC新手,他使用ajax调用处理所有数据填充和单击操作。我知道MVC不应该这样设置,但这是我一直坚持的。我只是想尽力解决这个问题。无论如何,在ajax使用的方法中,我需要将用户重定向到新页面。我该怎么做

我尝试了响应。重定向,但我得到一个错误,说它不存在。我试图添加一个使用类,但无法使其工作

我找到System.Diagnostics.Process.Start,但它会在新的浏览器选项卡中打开。是否有可能在同一选项卡中打开

这里是ajax调用。当用户单击按钮时,会在javascript函数中触发:

 $.ajax({
            contentType: "application/json",
            dataType: "json",
            type: "post",
            url: "/api/WoApi/PostWoApprGen/" + vUsr,
            data: JSON.stringify(invObj),
            success: function (res)
            {
                if (res)
                {
                    var inv = $('#DivInv');
                    inv.html(res);

                    output = $('#TmpMsg');
                    output.html("");

                    opStatMsg("success", "rptGenWin");

                }
                else
                {
                    opStatMsg("error", "rptGenWin");
                }
            }
        });
这将转到控制器目录中的类,文件名WoApiController.cs:

public string PostWoInv([FromBody] Koorsen.OpenAccess.WrkOrdTemp obj)
    {
        var currentUser = ClsUtility.GetCurrentUser();
        if (currentUser == 0)
        {
            rep.UpdateWorkOrderStatusInvoiced(obj.WoTempId, currentUser, obj);
        }
        else
        {
            System.Diagnostics.Process.Start("~Admin/Login");
        }
.............
.............

在您的成功回调中,只需执行以下操作

location.href = 'Home/Index';
或者,最好使用Razor和
HomeController中名为
Index
的方法

location.href = '@Url.Action("Index", "Home")';

ajax的全部目的是保持在同一页面上。ajax调用不会重定向。如果您想重定向,请进行正常提交。我知道,但这些ajax调用是由一位同事设置的。我受够了。无论如何,我可以让它工作吗?在成功回调中-
location.href='someUrl'要让它在服务器端正常工作吗?谢谢。无论如何要让它在服务器端工作?成功回调将不需要重定向,除非出现超时问题,否则它无法转到那里,除非我有办法传递到成功部分,它有时应该正常处理,而其他时候则重定向。