Всплывающее окно Html из кода за файлом

#asp.net #html #vb.net #popup

#asp.net #HTML #vb.net #всплывающее

Вопрос:

Это может быть просто, но я не нашел простого решения.

При нажатии кнопки в asp.net веб-страница события нажатия кнопки html генерируется из xml и xsl. Этот HTML-код хранится как строковая переменная. Например, допустим

 dim htmlString as string = "<div>This is my popup</div>"
 

Из приведенной выше строки html как я могу динамически создавать всплывающее окно html в vb.net . Я могу создать всплывающее окно во внешнем интерфейсе с помощью javascript, но не нашел никакого решения для его создания с помощью кода за файлом в vb.net

Редактировать:

Это не работает в IE, работает только в firefox:

 Dim popupScript As String = _
   "<script language='javascript'> myPopup() </script>" 
Dim mystring = "<html><body><div style=""color:black"">Name: Jame's</div></body></html>" 
Page.ClientScript.RegisterStartupScript(Me.GetType(), "PopupScript", String.Format(popupScript)) 
 

Комментарии:

1. Я предполагаю, что это ASP.NET , не так ли? Как насчет: ClientScript.RegisterStartupScript(Me.GetType(), "newWindow", String.Format("<script>window.open('{0}');</script>", url))

2. Спасибо, Тим, это то, что мне было нужно, я понял это после публикации вопроса. Просто интересно, есть ли какой-нибудь другой способ сделать это без использования javascript.

Ответ №1:

Вы можете создать всплывающее окно только с помощью javascript, поэтому вам нужно зарегистрировать этот скрипт в codebehind:

 ClientScript.RegisterStartupScript(Me.GetType(), "newWindow", String.Format("<script>window.open('{0}');</script>", url))
 

Возможно, я неправильно понял ваше требование. Вы хотите не только открыть всплывающее окно на стороне клиента ( window.open ) из codebehind, но и создать это окно «на лету» без URL?

Может быть, это помогает (непроверено):

 Dim popupHtml = "<html><body><div style=""color:black"">Name: Jame's</div></body></html>"
Dim openPopupScript = "NewPopup=window.open("", 'newWindow', 'height=250, width=250');" amp; _
                      "NewPopup.document.open();" amp; _
                       String.Format("NewPopup.document.write('{0}');", popupHtml) amp; _
                      "NewPopup.document.close();"
ClientScript.RegisterStartupScript(Me.GetType(), _
                      "newWindow", _
                      openPopupScript)
 

Комментарии:

1. Как я могу передать vb.net strig, который содержит html для функции javascript в качестве параметра. <тип сценария =’текст / javascript’> функция myPopup(тест) { var popupwindow = window.open(«myWebForm.aspx», «mywindow», «местоположение = 1, статус = 1, полосы прокрутки = 1, ширина = 100, высота = 100»); popupwindow.document.запись (тест); всплывающее окно. focus(); } </script>

2. в коде debhind file Dim всплывающее окно отображается как String = «<язык скрипта =’javascript’> myPopup() </script>» mystring = «<html><body><div style=»»color:black»»> Имя: Jame</div></body></html>» Страница. ClientScript. RegisterStartupScript(Me.GetType(), «PopupScript», строка. Формат (popupScript)) doe не работает в IE, работает только в firefox

3. @Jemsworld: Вы должны были отредактировать свой вопрос, добавить это и задать мне в комментарии. Я так и сделаю.

4. @Jemsworld: добавлен подход к созданию всплывающего окна без URL-адреса, но он совершенно не протестирован.