SQL Server 如何用ADO.NET重定向ASP.NET内核中的JSON对象

eqfvzcg8  于 2023-02-03  发布在  .NET
关注(0)|答案(1)|浏览(137)

在我的项目中,我在创建、编辑和删除时显示了弹出窗口。在我单击创建按钮输入详细信息并提交后,页面不会重定向到索引页面。但数据会更新。为什么会出现这种错误?我使用了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) });
}
bvjveswy

bvjveswy1#

当使用 AJAX 时,不能使用RedirectToAction重定向到索引页。
您可以更改返回方法,如下所示:

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

在 AJAX 中添加Success,例如:

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

相关问题