【问题标题】:Asp.Net Core Redirect To Another PageAsp.Net Core 重定向到另一个页面
【发布时间】:2021-07-04 10:56:50
【问题描述】:

完成更新后,我试图通过警告消息通知它并将其重定向到另一个页面。收到通知消息后不重定向。

                [HttpPost("Home/Edit/{id}")]
    [ValidateAntiForgeryToken]
    public ActionResult Edit(int id, IFormCollection collection)
    {
        try
        {
           /*bla bla bla*/
            Response.WriteAsync($"<script language=javascript>alert('successfully updated');</script>");
            return RedirectToAction(nameof(List));
        }
        catch
        {
            return View();
        }
    }

【问题讨论】:

  • 您能否说明如何以及在何处调用此Edit 端点?为什么不传递一个标志来指示更新是否成功,然后在客户端检查该标志以提醒指定的消息?

标签: asp.net asp.net-mvc asp.net-core


【解决方案1】:

您不应写入响应然后重定向到单独的操作。这样您的视图将无法正确组合。

尝试创建一个 ViewComponent 来满足您的要求。

【讨论】:

    【解决方案2】:

    如果您重定向到页面另一个区域。

    return RedirectToAction("action name", "controller name", new { area = "area name" });
    

    或者没有其他区域。就用吧。

    return RedirectToAction("ActionName", "ControllerName");
    

    但我猜在这种情况下,返回 RedirectToAction(nameof(List))return RedirectToAction("List") 相同,请参见 reference

    【讨论】:

      猜你喜欢
      • 2014-07-21
      • 2011-08-22
      • 2019-03-11
      • 1970-01-01
      • 2011-02-22
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      相关资源
      最近更新 更多