2013-05-16 2 views
1

Я пытался открыть новое всплывающее окно при загрузке страницы, и новое окно было успешно открыто, но новое окно было открыто за страницей главной страницы. Я хотел бы, чтобы новое окно было активным до главной страницы. Код в код-сзади и, как показано ниже:Открыть новое окно на странице load и быть активным

If Not IsPostBack Then 
    Page.ClientScript.RegisterStartUpScript(me.GetType(),"popup","<script language=javascript>window.open('WebForm2.aspx','','width=300px,height=200px')</script>") 
End If 

ответ

2

Добавить .focus() в конце window.open:

If Not IsPostBack Then 
    Page.ClientScript.RegisterStartUpScript(me.GetType(),"popup","<script language=javascript>window.open('WebForm2.aspx','','width=300px,height=200px').focus();</script>") 
End If 

Если это не работает - что-то другое на главной странице перенимает. Вы можете попробовать размещения открыть/фокус в setTimeout блоке (кстати, вы не должны добавить сценарий теги самостоятельно, просто передать последний параметр в RegisterStartupScript в True:

If Not IsPostBack Then 
    Page.ClientScript.RegisterStartUpScript(me.GetType(),"popup","setTimeout(""window.open('WebForm2.aspx','','width=300px,height=200px').focus();"",1);", True) 
End If 
+0

это не работает –

+0

всплывающего окна по-прежнему открывается за главной страницей? Если это так - у вас есть дополнительные сторонние элементы управления ASP.NET на главной странице? –

+0

Да, она по-прежнему находится за главной страницей, и на главной странице есть некоторые элементы управления инструментариями управления AJAX. –

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