2012-08-31 20 views

cevap

2

JavaScript olduğunu t Sunucu sayfasından yenilenecek bir HTML sayfasını zorlar. Müşteri sayfayı talep etmelidir.

Bunu yapmanın tek yolu, her zaman META yenileme etiketini, Yenile HTTP üstbilgisini veya bir sayfayı bir aralıkta yeniden yüklemeye zorlayan javascript'i içerir.

Herhangi bir "sunucu tarafı" çözümü, javascript veya META etiketini sayfaya yazarak bunu yapar. Bunu yapmanın başka yolu yok. gibi kod eklemek sürükle ve form.aspx içinde ve form yükte zamanlayıcı kontrolünü bırakın:

+0

Evet, Bu yoldayız, ama ben c'den istiyorum # –

+2

Sayfanız müşteriye indirildikten sonra sunucu isteği tamamlandı. İstemcide C# yürütme işlemi yoktur ve istemci yenilemeyi başlatması gerektiğinden, AFAIK - bunu yalnızca HTML/Javascript ile yapabilirsiniz. – InSane

+0

neden? C# çalıştırıldığı sunucu için, yenilemeyi başlatmak için bir soket (ala HTML5 Web Yuvaları veya uzun yoklama/Kuyruklu Yıldız) bulundurması gerekir. Sadece bir sayfa yenilemesi ise, bu teknikler aşırı mühendislik IMHO'dur. –

5

One yapmalıyım Başlığınızın <META HTTP-EQUIV="REFRESH" CONTENT="300"> aşağıdaki HTML meta etiketi kullanma

+0

emin değilim Cevabı düzenlemek için teşekkürler, burada düzenlemek için ama iyi yoluyla geçme değil –

+0

Response.AddHeder ("Refresh", "5"); Biz de bunu yapabiliriz, bu doğru –

2

Şunları yapabilirsiniz:

setTimeout("location.reload(true);", timeout); 

ikinci bir Meta etikettir: kandırmasına

+0

Response.AddHeder ("Yenile", "5") emin değilim; Bunu da yapabiliriz, bu doğru –

+0

Neredeyse doğru emin değilim. Yenileme saniye cinsinden verilir, bu yüzden 300 olmalıdır. Bu meta etiketi ile aynı etkiye sahip, ancak sunucu sadece aspx dosyasındaki metni dışarıda tutmak yerine onu http yanıtına enjekte etmek zorunda. Bu başlığın cevabımdan eklenmiş. – dodexahedron

+0

Güncelleme için teşekkürler dodexahedron .. –

0

basit yolu

<Head> 
<meta equiv="refresh" content="5"> 
</Head> 

veya her beş dakikada örneğin için bir web sayfası yenilemek için zamanlayıcı kontrolü kullanmaktır Form yük

<asp:Timer ID="Timer1" runat="server" Interval="6000" ontick="Timer1_Tick" /> 

altında

public void DoMagic() 
{ 


} 
protected void Timer1_Tick(object sender, EventArgs e) 
{ 
DoMagic(); 
Label1.Text = ""; 
} 
+0

ASP.NET zamanlayıcılar bu kadar basit değil. Bir geri dönüşe neden olurlar. Bu, bir grup javascript ve (muhtemelen) OP'nin muhtemelen beklemediği veya istemediği bazı yan etkileri anlamına gelir. – dodexahedron

+0

Ajax içinde kullanılabileceğini düşünüyorum, ya da bunu düzeltmek için ispostback'i ayarladım – Hassanation

+1

IsPostback doğru olacak, evet. Bu, burada önerilen diğer yöntemlerden çok daha karmaşıktır ve sayfanın geri gönderilme durumunun farkında olmayı gerektirir. – dodexahedron

0
window.setInterval(function() { 
      // this will execute every 1 second 

      methodCallOrAction(); 

     }, 1000); 



function methodCallOrAction() 
{ 
// u can call an url or do something here 
} 
İlgili konular