Asp.Net Core MVC 不加载视图

我正在使用 ASP.NET 核心开发 Web 应用程序,但遇到了一些问题。 当我到达一个控制器时,我将我的应用程序重定向到另一个打开页面的控制器。但是,当我到达返回应该打开的视图的控制器时,没有任何反应并且页面不会加载。请求到达控制器,控制器返回视图但页面没有打开。奇怪的是,当为页面创建菜单选项时,一切正常,页面被加载。 Ajax 代码调用第一个控制器,接收信息然后调用另一个控制器打开另一个视图。 Ajax 代码是否会导致此问题?

Ajax 代码

<script>
        var listaDeIds = [];
        function Mostrar() {
            var videos = document.querySelectorAll('#video');
            var count = 0;
            var lista = [];

            for (var i = 0; i < videos.length; i++) {
                var videoID = videos.item(i).getattribute("name");
                const shadow = videos.item(i).shadowRoot;
                const childNodes = Array.from(shadow.childNodes);

                childNodes.forEach(childNode => {
                    if (childNode.nodename === "DIV") {
                        const shadowChilds = Array.from(childNode.childNodes);
                        shadowChilds.forEach(shadowShild => {
                            if (shadowShild.nodename === "DIV") {
                                const shadowChildsInternas = Array.from(shadowShild.childNodes);
                                shadowChildsInternas.forEach(interna => {
                                    if (interna.nodename === "INPUT") {
                                        if (interna.checked === true) {
                                            lista[count] = videoID;
                                            count = count + 1;
                                        }
                                    }
                                });
                            }
                        });
                    }
                });
            }
            if (lista.length > 0) {
                document.getElementById("btnplaylist").style.display = 'block';
            } else {
                document.getElementById("btnplaylist").style.display = 'none';
            }
            listaDeIds = lista;
        }

        $('#Playlist').click(function () {
            //var url = "/Playlist/RecebeListaDeIds";
            var url = "/VideoSearch/PegarListaDeIds"
            var lista = listaDeIds;

            $.post(url,{ pListaDeIds: lista },function (data) {
                $("#msg").html(data);
            });
        });

    </script>

从屏幕接收数据并调用另一个控制器的控制器 1

     [HttpPost]
    public actionResult PegarListaDeIds(string[] pListaDeIds)
    {
      if(AppUser.User != null)
      {
        var appCache = AppCache.Instance;
        appCache.VideoId.InserirNoCache(pListaDeIds);

        return RedirectToaction("CreatePlaylist","Playlist");
      }
      else
      {
        return BadRequest("Usuário não está logado");
      }
    }

控制器 2 被控制器 1 调用。这个控制器在被另一个控制器调用时不会加载视图。

[HttpGet]
    public actionResult CreatePlaylist()
    {
      return View();
    }
leoliu1234 回答:Asp.Net Core MVC 不加载视图

问题解决了。我将此代码段添加到我的 Ajax 代码中,现在一切正常。

var url = '@Url.Action("CreatePlaylist","Playlist")';
window.location.href = url.replace();

本文链接:https://www.f2er.com/4207.html

大家都在问