繁体   English   中英

如何用ADO.NET重定向ASP.NET核心中的JSON object

[英]How to redirect the JSON object in ASP.NET core with ADO.NET

在我的项目中,我在创建、编辑和删除中显示了弹出窗口。 单击创建按钮后输入详细信息然后提交,该页面不会重定向到索引页面。 但是数据更新了。 为什么这个错误。 我用的是 jquery AJAX 投稿。 当我单击事件时,它不会重定向到索引视图页面。

在下面我的 BookController Http Post 操作方法这段代码有什么错误。

图书控制器:

[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult AddOrEdit(int id, [Bind("BookID,Title,Author,Price")] BookViewModel bookViewModel)
{
    if (ModelState.IsValid)
    {
        //Sql Connection
        using (SqlConnection sqlConnection = new SqlConnection(_configuration.GetConnectionString("BookConnection")))
        {
            sqlConnection.Open();
            SqlCommand sqlCmd = new SqlCommand("BookAddOrEdit", sqlConnection);
            sqlCmd.CommandType = CommandType.StoredProcedure;
            sqlCmd.Parameters.AddWithValue("BookID", bookViewModel.BookID);
            sqlCmd.Parameters.AddWithValue("Title", bookViewModel.Title);
            sqlCmd.Parameters.AddWithValue("Author", bookViewModel.Author);
            sqlCmd.Parameters.AddWithValue("Price", bookViewModel.Price);
            sqlCmd.ExecuteNonQuery();
        }
        **return RedirectToAction(nameof(Index));
        //return Json(new { isValid = true, html = Helper.RenderRazorViewToString(this,         "Index") });**
    }
    return Json(new {isValid= false,html = Helper.RenderRazorViewToString(this,"AddOrEdit",   bookViewModel) });
}

当你使用 ajax 时,你不能使用 RedirectToAction 重定向到索引页面。

您可以像下面这样更改您的退货方式:

return Json(new { redirectToUrl = Url.Action("Index", "Book") });

并在 Ajax 中添加成功,例如:

success: function (response) {
                window.location.href = response.redirectToUrl;
            }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM