簡體   English   中英

在剃刀中使用c#方法調用javascript函數

[英]call javascript function with c# methods in razor

我正在嘗試使用此處提到的Cache Scheduler方法每10秒重新加載一次頁面,

我只想在刪除Cache時調用JavaScript函數來重新加載當前頁面。 但是由於某種原因,基本的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調用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM