在 ASP.NET MVC 中使用 AJAX 方法时使用 C# 控制器重定向到页面
Posted
技术标签:
【中文标题】在 ASP.NET MVC 中使用 AJAX 方法时使用 C# 控制器重定向到页面【英文标题】:Redirect to a page using C# controller while using AJAX method in ASP.NET MVC 【发布时间】: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# 控制器类重定向的方式。
提前致谢!
【问题讨论】:
可以参考这个链接***.com/questions/17748283/… Ajax 调用无法重定向。您需要在成功回调中重定向。但是你最好做一个正常的提交 感谢 Stephen 和 gokul!这意味着如果我们使用 AJAX,唯一的选项是从 AJAX 回调选项重定向它。 【参考方案1】:如果你想使用js重定向到一个页面你可以使用
window.location.href = 'your url here'
希望有所帮助。 您需要在成功回调中添加此内容,否则可以使用普通表单提交
【讨论】:
嗯,这是从 JS 端处理的。我正在寻找一种在成功条件下从控制器重定向到其他页面的方法。对于失败的情况,它应该返回 JSon 结果重定向到 AJAX 方法。 你可以使用 RedirectToAction以上是关于在 ASP.NET MVC 中使用 AJAX 方法时使用 C# 控制器重定向到页面的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ASP.NET MVC 中使用 jQuery ajax 方法将数据列表发送到控制器操作方法?
jQuery 通过 Ajax 在 ASP.NET MVC C# 中调用 Action 方法
ASP.NET MVC页面搜索功能实现(普通方法和使用Ajax)
ASP.Net MVC Recaptcha Jquery Ajax 问题