我想在用户点击提交按钮时显示加载动画。简单的gif将完成这项工作。这是我的代码:
@using (Html.BeginForm("SData","Crawl"))
{
<p>
Enter Starting URL:<input class="txt" type="text" id="sUrl" name="sUrl" title="Enter Starting URL"/>
</p>
<p>
Enter Number of Threads:<input class="txt" type="text" id="Nbt" name="Nbt" title="Enter number of threads"/>
</p>
<p>
<input class="button" id="submit" type="submit" value="Submit" />
</p>
}
答案 0 :(得分:22)
修改强>
我错误地认为这个问题与AJAX助手有关。以下是使用HtmlHelper的方法。
首先,在表单中添加一个ID,以便您可以使用JQuery抓取它:
@using (Html.BeginForm("SData", "Crawl", FormMethod.Post, new { id = "myform" }))
{
// the form
}
接下来,添加一个Javascript事件处理程序来拦截表单提交并显示加载GIF。
$("#myform").submit(function(e) {
$("#myLoadingElement").show();
});
(原始答案如下......)
使用AjaxOptions
类设置LoadingElementId
,Ajax帮助器将在等待服务器响应时显示该元素:
@using (Html.BeginForm("SData","Crawl", new AjaxOptions() {
LoadingElementId="myLoadingElement"
}))
{
// form
}
然后只需将你的gif放在你想要的地方(最初隐藏):
<div id="myLoadingElement" style="display: none;">
<img src="loading.gif" alt="Loading..." />
</div>
答案 1 :(得分:0)
您好,我刚刚在这里阅读了您的信息,使用Microsoft.AspNetCore.Mvc在.net core 2.1中对我来说效果很好:
@using (Html.BeginForm("ActionName", "ControllerName", FormMethod.Post, new {id="UpdateForm"})) {@Html.AntiForgeryToken() <div>your inputs here...</div> }
然后是HTML脚本:
$("#UpdateForm").submit(function(e){$("#your loader gif here..")}
如果遇到问题,则可能需要调试Action Method并查看它是否在语句内中断。 @Freeman博士:您可以重定向到任何视图,如下所示:
return RedirectToAction("ActionName", new {@id=id});
希望获得帮助