asp.net-mvc - 等待asp.net返回新视图时如何显示加载消息
问题描述
我在互联网上搜索了很多,我正在寻找一种在 asp.net 从一个页面移动到另一个页面时显示加载消息的方法。我已经尝试了 JavaScript 的加载方法,但它不适用于从一个页面移动到另一个页面,所以当单击搜索按钮时我该如何执行此操作。
@using (Html.BeginForm("SearchResult", "Home", FormMethod.Get))
{
<section class="search-sec">
<div class="container-fluid">
<form>
<div class="row">
<div class="col-lg-12">
<div class="row">
<div class="col-lg-4 col-md-3 col-sm-12 p-0">
<input type="text" name="searchTitle" class="form-control search-slt" placeholder="Job Title, Skills, Company!">
</div>
<div class="col-lg-4 col-md-3 col-sm-12 p-0">
<input type="text" name="searchLocation" class="form-control search-slt" placeholder="Location">
</div>
<div class="col-lg-4 col-md-3 col-sm-12 p-0">
<button type="submit" value="Create" class="btn btn-danger wrn-btn">Search</button>
</div>
</div>
</div>
</div>
</form>
</div>
</section>
}
解决方案
如果您不使用 ajax,那么您可以使用加载消息加载新页面,并在加载完成后将其删除。我在我的一个项目中使用了这个(https://ihatetomatoes.net/create-css3-spinning-preloader/)。基本上,您激活或停用将类添加到 html 正文。
在我想在其他任何东西之前展示它的视图中,我放了这个:
<script>
$('body').removeClass('loaded');
</script>
一旦一切都加载完毕:
<script>
//...other stuff
$(document).ready(function () {
setTimeout(function () {
$('body').addClass('loaded');
}, 500);
});
</script>
但是在到达页面之前您仍然需要等待,您应该在离开第一页之前捕获搜索点击并显示加载器。
无论如何,我同意 Jerdine 和敢机,您将拥有更多的控制权,使用 ajax 加载搜索结果并将它们显示在同一页面中。也许不可能,所以我希望解决方法对您有用
推荐阅读
- java - javax.xml.crypto.URIReferenceException:无法解析具有 ID 对象的元素
- regex - 正则表达式选择一两行
- powerbi - 在 PowerBI 中使用日期表动态计算度量
- safari - Base64 图像未显示,闯入 Safari
- javascript - 如何在 .map 中使用多个等待?
- c# - C# 使用默认文件夹参数启动没有 com 互操作的 Word
- c++ - C++ 中的 SIGSEGV 崩溃预防
- python - Python yaml:ModuleNotFoundError
- triggers - 防止记录被删除
- java - 如果没有创建超级对象,为什么我可以在java中调用超级构造函数