用razor中的c方法调用javascript函数
本文关键字:调用 javascript 函数 方法 razor 中的 | 更新日期: 2023-09-27 17:57:31
我正在尝试每10秒重新加载一个页面,使用这里提到的Cache Scheduler方法,
我只想调用一个JavaScript
函数,在删除Cache
时重新加载当前页面。但由于某些原因,基本的JavaScript不起作用。
剃刀视图:
@{
AddTask("CheckStatus", 10); // reload page every 10 seconds
@functions
{
private static System.Web.Caching.CacheItemRemovedCallback OnCacheRemove = null;
public void AddTask(string name, int seconds)
{
OnCacheRemove = new System.Web.Caching.CacheItemRemovedCallback(CacheItemRemoved);
HttpRuntime.Cache.Insert(name, seconds, null,
DateTime.Now.AddSeconds(seconds), System.Web.Caching.Cache.NoSlidingExpiration,
System.Web.Caching.CacheItemPriority.NotRemovable, OnCacheRemove);
}
public void CacheItemRemoved(string k, object v,
System.Web.Caching.CacheItemRemovedReason r)
{
PrintStatus();
}
}
}
@helper PrintStatus()
{
var msg = "<script language='javascript' type='text/javascript'>
alert('Status is open!');</script>";
@Html.Raw(msg)
}
我做错了什么?或者有没有其他方法可以使用服务器端代码返回Javascript
以重新加载页面。
注意:我不使用Javascript
set interval
,因为Chrome
在最小化浏览器时会出现问题,所以我更喜欢服务器端代码每x秒重新加载一次页面。
任何帮助都会很棒。
缓存调度程序是服务器端的一段代码。它在客户端上是无用的。只有在渲染视图时,CacheRemoveItem才会触发,这才会触发。
如果我是你,我会创建一些AJAX服务,并定期使用setInterval从javascript调用它。