【问题标题】:How to create Splash Screen in MVC如何在 MVC 中创建启动画面
【发布时间】:2015-05-05 05:12:15
【问题描述】:

当我单击显示消息“您的数据正在保存。请稍候...”的保存按钮时,我想创建一个启动画面。我使用 MVC 5 进行开发。

下面我创建了一个div:

<div id="divSplash" style="margin: 0px; padding: 0px; position: fixed; right: 0px;
top: 0px; width: 100%; height: 100%; background-color: #ffffff; display:none">
<p style="position: absolute; top: 30%; left: 45%; color: White;">
    Your data are being save. Please wait...<img src="../../Images/ajax-loading.gif">
</p>
</div>

如果你的人能帮助解决这个问题,我真的很感激。谢谢。

【问题讨论】:

  • 您是否使用 ajax 发布数据?
  • No..i 在 MVC 中使用 post 方法保存数据..
  • 一旦您单击“提交”按钮,您就会离开页面,因此试图在不再存在的页面上显示一条消息是毫无意义的。
  • 我需要创建加载图像,因为当用户单击保存按钮时,我需要 2-3 分钟将数据保存到数据库中。关于如何创建它有什么建议吗?跨度>
  • 一种选择是使用 ajax 发布表单,然后您可以在调用之前立即显示加载图像,然后在成功回调中重定向到另一个视图。

标签: jquery asp.net-mvc


【解决方案1】:

您需要进行 ajax 调用并使用如下内容:

$.getJson()("/ap/...,
 function(data){
//logic here
$("#divSplash").show();
//do processing
$("#divSplash").hide();
}
}

【讨论】:

    【解决方案2】:

    我认为你应该使用 Ajax 表单。

    @using (Ajax.BeginForm("PerformAction",
        new AjaxOptions { LoadingElementId="divSplash", OnSuccess = "OnSuccess" }))
    {
        ...
        <input type="submit" value="Submit" />
    }
    
    <div id="divSplash" style="display: none;">
        <img src="loading.gif" alt="Loading..." />
    </div>
    

    如何使用Ajax.BeginForm 这是旧帖子,但解释很清楚。

    【讨论】:

    • 嗨@aswini ..我在这里使用此代码:使用(Html.BeginForm(null,null,FormMethod.Post,new {id =“formID”}))..我该如何更改它使用 ajax.beginform ?
    • @eikaz - 如果它解决了您的问题,请将其标记为答案。谢谢
    猜你喜欢
    • 2012-02-23
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    • 2020-02-27
    相关资源
    最近更新 更多