Javascript 通过Html.begin提交激活加载动画
我想在用户单击提交按钮时显示加载动画。简单的gif就可以了。这是我的代码:Javascript 通过Html.begin提交激活加载动画,javascript,ajax,asp.net-mvc,asp.net-mvc-4,razor,Javascript,Ajax,Asp.net Mvc,Asp.net Mvc 4,Razor,我想在用户单击提交按钮时显示加载动画。简单的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> En
@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>
}
使用(Html.BeginForm(“SData”、“Crawl”))
{
输入起始URL:
输入线程数:
}
编辑
我错误地认为这个问题与AJAX助手有关。下面是如何使用HtmlHelper来实现这一点
首先,向表单中添加一个ID,以便使用JQuery获取它:
@using (Html.BeginForm("SData", "Crawl", FormMethod.Post, new { id = "myform" }))
{
// the form
}
接下来,添加一个Javascript事件处理程序来拦截表单提交并显示加载的GIF
$("#myform").submit(function(e) {
$("#myLoadingElement").show();
});
(原始答案如下……) 使用该类设置
LoadingElementId
,Ajax助手将在等待服务器响应时显示该元素:
@using (Html.BeginForm("SData","Crawl", new AjaxOptions() {
LoadingElementId="myLoadingElement"
}))
{
// form
}
然后,只需将gif放在您希望显示的任何位置(最初将其隐藏):
您好,我刚刚在这里阅读了您的帖子,它在.net core 2.1中使用Microsoft.AspNetCore.Mvc运行良好:
@使用(Html.BeginForm(“ActionName”、“ControllerName”、FormMethod.Post、new{id=“UpdateForm”}))
{@Html.AntiForgeryToken()
您在此处的输入…}
然后HTML脚本:
$(“#UpdateForm”).submit(函数(e){$(“#您的加载程序gif在此..”)
如果您有问题,您可能希望调试您的操作方法,并查看它是否在语句中中断。。。。
@弗里曼博士:您可以重定向到任何视图,如下所示:
返回RedirectToAction(“ActionName”,new{@id=id});
希望此帮助我测试了你的代码,但没有成功。我正在调用SData操作方法,该方法在完成后将返回不同的视图。其想法是在SData重定向到另一个视图之前显示加载gif。我是否遗漏了什么?@JasminPvvlovic对此表示抱歉,我完全不知道。我以为你在使用Ajax帮助程序。请参阅my更新了答案。此解决方案对我不起作用。ajaxOptions不是Html.BeginForm中的元素。它抛出了一个错误。
<div id="myLoadingElement" style="display: none;">
<img src="loading.gif" alt="Loading..." />
</div>