ASP.NET Core 3.0:加载GIF

时间:2020-07-22 14:27:26

标签: javascript html jquery ajax razor

我正在尝试将加载的GIF插入我的项目中。我将ASP.NET Core 3.0与Razor Pages一起使用,并且我了解到我必须使用一点Javascript或Ajax来做到这一点。我对所有这些都是新手,所以我不太了解如何实现此功能,但是已经尝试了一下。加载页面时,GIF立即存在,但是问题是我只希望在单击提交按钮时显示它。

这是我的Upload.cshtml的代码:

@page
@model CustomerPageTest.Pages.Assessment.UploadModel
@{
    ViewData["Title"] = "Upload";
}

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="../Scripts/jquery-1.12.4.js"></script>
<script src="../Scripts/jquery-ui.js"></script>
<script>
    $(document).ready(function () {
        $('.loadingImage').hide();
        $("#buttonSubmit").click(function (event) {
            $('.loadingImage').show();
        });
    });
</script>

<div class="col-md-offset-2 justify-content-center">
    <h1 style="color:yellowgreen">3) Import RVTools Spreadsheet (.xls or .xlsx)</h1>
</div>
<br />
<br />

<div class="col-md-offset-3">
    <form enctype="multipart/form-data" method="post">
        <dl>
            <dd>
                <input asp-for="@Model.FormFile" type="file" class="text-light">
                <span asp-validation-for="@Model.FormFile"></span>

                <input asp-for="@Model.CustomerId" type="hidden" />
                <span asp-validation-for="@Model.CustomerId"></span>

                <input asp-for="@Model.AssessmentId" type="hidden" />
                <span asp-validation-for="@Model.AssessmentId"></span>
            </dd>
            <dd>
                <img id="loadingImage" src="~/css/Images/ajax-loader.gif" alt="Loading ..." style="display: none;" />
            </dd>
        </dl>
        <dl>
            <dd>
                <button id="buttonSubmit" asp-page-handler="Upload" class="btn btn-dark" type="submit">Upload File</button>
            </dd>
        </dl>
    </form>
</div>

当我运行程序并且不单击“上传文件”时,这就是我得到的:

enter image description here

如何使该GIF仅在我点击“上传文件”时显示?当我单击“上传文件”时,程序进入OnPost()函数,因为它必须对给定的文件运行大型算法,并且我希望该程序运行时在其中具有GIF。

1 个答案:

答案 0 :(得分:2)

您的jquery脚本以class loadingImage为目标,但是该元素将其作为id。改用$('#loadingImage')。

相关问题