【问题标题】:Redirect to a page using C# controller while using AJAX method in ASP.NET MVC在 ASP.NET MVC 中使用 AJAX 方法时使用 C# 控制器重定向到页面
【发布时间】:2018-12-03 00:24:10
【问题描述】:

我正在使用 C# ASP.NET MVC,想知道有没有办法在成功的情况下从控制器重定向到其他页面。对于失败情况,它应该返回 JSon 结果重定向到 AJAX 方法。为此,ActionResult 返回类型对我来说没问题。

C# 控制器:

[HttpPost]
public ActionResult DoMyAction(string var1, string var2)
{
    // Do some action
    if(success)
        Redirect to a page.
    else
        return Json(new { Message = "Action cannot be process..", Status = false});
}

AJAX 方法:

$.ajax({
        url: '/Home/DoMyAction',
        type: 'POST',
        data: { "var1": "Hello", "var2":"World!"},
        datatype: "json",
        contenttype: "application/json; charset=utf-8",
        success: function (result) {
            if (!result.Status)
                // Display error message.
        },
        error: function () {
        }
    });

注意:这里请不要考虑语法,我只想知道从 C# 控制器类重定向的方式。

提前致谢!

【问题讨论】:

  • Ajax 调用无法重定向。您需要在成功回调中重定向。但是你最好做一个正常的提交
  • 感谢 Stephen 和 gokul!这意味着如果我们使用 AJAX,唯一的选项是从 AJAX 回调选项重定向它。

标签: c# asp.net ajax asp.net-mvc


【解决方案1】:

如果你想使用js重定向到一个页面你可以使用

window.location.href = 'your url here'

希望有所帮助。 您需要在成功回调中添加此内容,否则可以使用普通表单提交

【讨论】:

  • 嗯,这是从 JS 端处理的。我正在寻找一种在成功条件下从控制器重定向到其他页面的方法。对于失败的情况,它应该返回 JSon 结果重定向到 AJAX 方法。
  • 你可以使用 RedirectToAction
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-17
  • 1970-01-01
  • 1970-01-01
  • 2012-05-28
  • 1970-01-01
  • 1970-01-01
  • 2019-04-06
相关资源
最近更新 更多