2013-06-30 4 views
0

Я работаю над сайтом asp.net, где мне нужно открыть окно браузера из кода C#. Я создал следующую страницу JS на aspx.Окно браузера открывается при каждой обратной передаче IE

JS:

<scrupt type="text/javascript"> 

function openPopUp() { 
    window.open("About.aspx?something=happening", "WindowPopup", "width=700px, height=500px, resizable"); 
} 
</script> 

и это C# код

C#:

protected void Button1_Click(object sender, EventArgs e) { 
    string script = "<script language='javascript' type='text/javascript'>Sys.Application.add_load(openPopUp);</script>"; 
      ClientScript.RegisterStartupScript(this.GetType(), "openPopUp", script); 
} 

Приведенный выше код работает отлично, и показывает страницу About.aspx как в новом окне браузера. Но проблема заключается в том, что когда родительская страница выполняет обратную передачу (например, когда я пытаюсь сортировать radgrid на родительской странице), она снова открывает окно браузера.

Я искал ее, но не нашел полезной обходной проблемы для этой проблемы, возможно, мне нужно будет отменить регистрацию клиентского скрипта, который регистрируется в Button1_Click, если да, то lemme знает, как я могу отделить или отменить регистрацию сценария как только окно браузера закрывается, чтобы одно и то же окно браузера не показывалось снова и снова при каждой обратной передаче.

всякая помощь была бы высоко оценена!

ответ

0

В OnClick случае вы можете попробовать это ..

onclick="javascript:window.open("About.aspx?something=happening",'mywin','left=20,top=20,width=700,height=700,toolbar=0,resizable=1,location=0,menubar=0');return false;" 

Я думаю, что возвращение ложным может решить проблему ..

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