![](/img/trans.png)
[英]ASP.NET auto reload div without using javascript or jquery?
[英]Refresh razor page without reload using javascript/ jquery in asp.net core
我有一个输入和脚本来在我的页面中重新加载表格。 在输入中,如果我插入 1000 我想每秒重新加载页面,而不单击任何按钮。
这是我尝试过的:
<input id="txtRefresh" />
<script>
document.redy(function () {
$('tblRefresh').load();
setInterval(function () {
$('#tblRefresh').load();
}, 'txtRefresh');
});
</script>
它的cshtml
razor页面。
我想要做的是在input
中插入秒的值并根据插入的值刷新页面,而不提交任何数据。
是否有可能做到这一点? 有什么建议么?
提前致谢!
更新
我插入了这个脚本:
<script>
document.ready(function () {
$('#refreshDIV').load('url/url/url');
setInterval(function () {
$('#refreshDIV').load('url/url/url');
}, $('#txtRefresh').val());
});
</script>
但它给了我错误!
refreshDIV
是我要刷新的 div
txtRefresh
是我插入秒的输入
你可以试试这个:
$(document).ready(function(){
var timeout = $("#txtRefresh").val();
setTimeout(timeout, function() { location.href=""; });
});
但是每次您重新加载页面时,您都会丢失输入。 您可以像这样通过查询字符串发送它:
location.href="?timeout="+timeout
并填充输入服务器端
这只是一个字符串:
'txtRefresh'
如果您想获取该元素的值,则更像是这样:
$('#txtRefresh').val()
您在document.ready
和您的第一个#tblRefresh
选择器中也有错字(缺少#
),并且您没有为 .load .load()
提供要加载的 URL 。 您似乎都在尝试这样做:
$(document).ready(function () {
$('#tblRefresh').load('/some/url');
setInterval(function () {
$('#tblRefresh').load('/some/url');
}, $('#txtRefresh').val());
});
有几点需要注意:
/some/url
值当然是此示例代码中的占位符。 无论您想在应用程序中使用什么 URL 都取决于您。
调用.load()
会将 URL 的整个响应放入目标元素中。 如果您只想要该响应的一个子集,则可以将选择器添加到.load()
。 例如:
$('#tblRefresh').load('/some/url #someElement');
这将告诉.load()
从/some/url
中获取所有内容,然后仅从 select 中获取#someElement
的内容以放置在#tblRefresh
中。 由于 URL 中的所有内容仍在下载中,因此性能可能仍然很慢。 为了提高性能或更好地控制数据,请考虑从服务器返回 JSON 数据并使用.ajax()
获取该数据,而不是使用.load()
重新加载所有 HTML(仅当数据发生更改时)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.