2010-11-18 26 views
0
protected void Button1_Click(object sender, EventArgs e) 
{ 
    if (bittext.Text == "") 
     Response.Write("<script>alert('Enter The value first or press the correct button')</script>"); 
    else 
    { 
     b = double.Parse(bittext.Text); 
     Bytetext.Text = (b/8).ToString(); 
     kbtext.Text = (b/8192).ToString(); 
     mbtext.Text = (b/8388608).ToString(); 
     gbtext.Text = (b/8589934592).ToString(); 
     tbtext.Text = (b/8796093022000).ToString(); 
    } 
} 

Ben bittext.Text şey girmeden bu web C# kodu çalıştırıyorum, buMicrosoft JScript çalışma zamanı hatası: Sys.WebForms.PageRequestManagerParserErrorException:

Microsoft JScript çalışma zamanı hatası adında bir hata atar sunucudan alınan mesaj ayrıştırılamadı.

Bunu nasıl çözebilirim !!! Bunun için Response.Write() kullanamaz

cevap

2

, böyle, ScriptManager.RegisterStartupScript gerekir:

ScriptManager.RegisterStartupScript(this, GetType(), "alert", 
    "alert('Enter The value first or press the correct button');", true); 

Response.Write() sadece geçersiz/beklenmeyen biçimi için yapar yanıtta olduğunda bu komut dosyası etiketi, döker İstemci onu ayrıştırmak için gidiyor, JavaScript'in bir parçasını düzgün bir şekilde yürütmek istiyorsun ... Yukarıdaki, bunu yapmak için doğru/sağlanmış bir mekanizmadır.

+0

+1, istemcinin yanıtı kusuyor. Buna ek olarak, bu formda RequiredFieldValidator ekleyerek ve bu istemci istemci tarafını doğrulayarak bunu çözebilir. –

+0

Moo-Juice ile katılıyorum, bu doğrulama sunucuda olmamalıdır (iyi olmalı, ancak istemci tarafı doğrulaması için bir geri dönüş olarak). Ancak, bu doğru cevaptır. – RPM1984

+0

Teşekkürler! İşe yaradı –

İlgili konular