2010-11-18 2 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(); 
    } 
} 

Если я бегу этот веб-C# код без ввода ничего bittext.Text, это выдает ошибку с именемMicrosoft JScript ошибка выполнения:

Microsoft JScript ошибка выполнения: Sys.WebForms.PageRequestManagerParserErrorException: сообщение, полученное с сервера, не может быть проанализировано.

Как я могу это решить!

ответ

2

Вы не можете использовать Response.Write() для этого, вам нужно ScriptManager.RegisterStartupScript, как это:

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

Response.Write() просто сбрасывает этот сценарий тег всякий раз, когда он находится в ответе, что делает для недопустимого/неожиданном формате, когда клиент идет для его анализа, вы хотите правильно выполнить часть JavaScript ... выше - правильный/предоставленный механизм для этого.

+0

+1, клиент рвет на ответ. Кроме того, он мог бы решить эту проблему, добавив RequiredFieldValidator в эту форму и проверив эту клиентскую сторону. –

+0

Согласитесь с Moo-Juice, эта проверка не должна быть на сервере (ну это должно быть, но как резерв для проверки на стороне клиента). Однако это правильный ответ. – RPM1984

+0

Спасибо, сэр !!!! Это сработало –

Смежные вопросы