在asp.net中加载图片

时间:2015-04-16 14:13:57

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

修改

我有上传结果操作,返回新页面可能需要几分钟。我想在div中设置加载图像。

我不知道为什么,但我觉得这不是正确的方法。在ASP.NET中显示加载屏幕/添加加载图像的正确方法是什么。

我有这个:

    [HttpPost]
    public ActionResult UploadTarget(UploadViewModel model)
      {
    //code that takes minutes
    return RedirectToAction("UploadSuccess", "Upload");
    }

如何在开始运行uploadtarget函数之前触发函数。

<script>
    function wait() {
       document.getElementById("wait").innerHTML = '<img src="/Images/wait.png" alt="Smiley face" height="42" width="42"> ';
    }
</script>

<div class="col-md-6">
     @using (Html.BeginForm("UploadActual", "Upload", FormMethod.Post, new { enctype = "multipart/form-data" })) {
           @Html.AntiForgeryToken()
           @Html.EditorFor(model => model.Remark)
           @Html.ValidationMessageFor(model => model.Remark)
           <input onclick="wait()"type="submit" value="Create" class="btn btn-   primary btn-lg"/>
}
</div>

<div id="wait"class="col-md-6"></div>

它在RedirectToaction之后运行我的javascript函数。所以它什么都不做了。我怎样才能解决这个问题?用c#还是javascript?还是有其他好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

您可以立即显示图像,然后在超时时提交表单,以显示图像时间。像这样:

function wait() {
   document.getElementById("wait").innerHTML = '<img src="/Images/wait.png" alt="Smiley face" height="42" width="42"> ';
   setTimeout(function(){document.getElementById("myForm").submit()},10);
}

<input onclick="wait()"type="button" value="Create" class="btn btn-   primary btn-lg"/>

my&#34; myForm&#34;是您表单的ID。