#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-адреса, но он совершенно не протестирован.