与DropzoneJS一起使用时,ASP.Net Core 2 RedirectToPage不会重定向

时间:2018-06-09 18:29:46

标签: c# asp.net razor dropzone.js razor-pages

我正在使用带有dropzonejs的ASP.Net Core 2 Razorpages,在用户删除我要重定向到我的LoadingPage的文件后,在我的索引站点上有一个dragndrop文件上载。

但是我遇到了重定向页面的问题。奇怪的是,我想调用我想重定向的页面的OnGet()方法,但浏览器中的网站永远不会更新。其他重定向工作正常,所以我怀疑问题与dropzonejs有关。

嗯,这是我的代码:

index.cshtml

<div id="fileuploadcontainer">
            <form method="post"
                  class="dropzone"
                  id="music-dropzone"
                  asp-page="./Index">
            </form>
            <br />
</div>

index.cshtml.cs

public async Task<IActionResult> OnPostAsync(IFormFile file)
    {
        if (!ModelState.IsValid)
        {
            return Page();
        }

        [...]//this here is my file uploading, but the problem still persits even when removed

        return RedirectToPage("/LoadingPage/Loading");
    }

Loading.cshtml.cs

public async Task<IActionResult> OnGet()
    {
        [...]//this part here gets called just fine, but the site doesnt redirect, even when it is minfied to only return Page() :(
        return Page();
    }

我也尝试删除异步修饰符,但无济于事......

修改 - 解决方法: 我已经尝试过任何可能的组合和解决方案,但我的问题仍然存在。但是我发现了一个很好的解决方法,你可以使用dropzonejs的事件,然后使用JS重定向页面。代码将是:

<script>
    Dropzone.options.[yourDropzoneElementId] = {
        maxFilesize: 10, // Mb
        init: function () {
            // Set up any event handlers
            this.on('success', function () {

                window.location.replace("/LoadingPage/Loading");
            });
        }
    };
</script>

感谢您的帮助,谢谢!

0 个答案:

没有答案