我正在使用带有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>
感谢您的帮助,谢谢!