【问题标题】:ASP .Net Core Call Controller Function from Javascript with redirect from Controller来自 Javascript 的 ASP .Net Core 调用控制器函数,并从控制器重定向
【发布时间】:2022-01-16 17:54:55
【问题描述】:

我对此很头疼,找不到解决方案。简而言之,我有一个包含 Javascript 列表的 ASP .Net Core MVC 页面。我需要将该列表传递给重定向。我有这个,它正在工作,所以不是我正在寻找的解决方案,因为它不安全。

所以我想做的是从 Javascript 调用 Controller 函数并传递列表。我只能使用 Ajax 执行此操作,但控制器不会在 Ajax 调用上重定向。有没有人遇到过类似的问题并可能有解决方案?

Javascript var -> 控制器 -> 重定向。

提前谢谢大家

【问题讨论】:

  • 您是否可以在 ajax 调用返回时进行重定向(例如,通过使用Jquery ajax success setting,您可以很容易地在调用返回时实现一些代码),或者您绝对有用 C# 重定向?
  • 我需要从 C# 重定向,因为我需要将模型传递到基于从初始 javascript 列表发送的列表生成的页面。我已经开始查看以下内容,但运气不佳,例如:window.location.href = '@Url.Action("Index", "Sandbox")' + list;
  • 您能否在问题中添加您迄今为止尝试过的内容?这是为了防止对您已经尝试过的解决方案发表评论/回答
  • 我搜索过:asp net core window location href with parameters asp.net mvc best results but not working as expected
  • window.location.href ="Sandbox/Index?test=" + 'My test string' 此代码按预期发送单个字符串。我想发一份清单。所以一个肮脏的解决方案是将列表项添加到字符串和逗号分隔。但这是最好的解决方案吗?

标签: javascript c# asp.net-core .net-core


【解决方案1】:

我找到了解决方案。因此,将答案留给未来遇到同样问题的人。

Javascript

    $("#btn").click(function () {
       var PostData = ["1","2","3","4","5","6","7","8","9"]
       if (PostData != "") {            
          window.location.href ="Controller/Function?test=" + PostData
                   
       } else
         alert('Oops.!!');});

C# 控制器

 public IActionResult Test(string test)
    {
        return RedirectToAction("function", "Controller", new { test });
    }

【讨论】:

  • 干得好!不要忘记将您的答案标记为已接受的答案:)
  • 这是世界上最容易接受的答案。
  • 只能在2天内接受我的回答,有点傻但会记得这样做。谢谢各位
猜你喜欢
  • 2018-10-02
  • 2022-07-27
  • 1970-01-01
  • 1970-01-01
  • 2022-01-14
  • 2021-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多