Как просмотреть HTML-файл в другой вкладке / окне, не сохраняя его на диске? - PullRequest
0 голосов
/ 05 января 2011

Hy,

В моем приложении я сохраняю строку в качестве содержимого html-файла.

Как я могу просмотреть этот контент (при условии, что он изменен по сравнению с оригинальным контентом) в браузере, но ненеобходимость сохранить его на диск локально.

И предварительный просмотр должен быть в другой вкладке или окне.

У кого-нибудь есть идеи?

Заранее спасибо.

Джеф

Ответы [ 6 ]

2 голосов
/ 05 января 2011

Сохранение содержимого в переменной Session, создание фиктивной страницы и загрузка содержимого из переменной Session в событии Page Load.

Где создается временный контент

Session["TempPage"] = Content;

И затем есть ShowTempPage.aspx, который пуст с кодом за событием загрузки страницы:

protected void Page_Load(object sender, EventArgs e)
{
    Response.Write(Session["TempPage"]);
}

Нечто подобное может сработать ..

Обновление: Чтобы открыть временную страницу в новом окне, создайте такую ​​ссылку на главной странице:

<a href="http://localhost/ShowTempPage.aspx" target="_blank">View temp Page</a>
1 голос
/ 05 января 2011

Вопрос в основном только в том, как открыть новое окно? Это зависит от того, что побуждает к действию. Если это гиперссылка, просто добавьте target="_blank". Если нет, или вы хотите больше контроля над окном, то используйте JavaScript.

Отображение контента без сохранения его на диск - это сама природа серверного кода, без этого невозможно создать веб-сайт.

Response.Write (туЗЬптд)

1 голос
/ 05 января 2011

Я бы использовал iframe и кусок javascript.Используйте javascript и document.write, чтобы заполнить окно iframe.

1 голос
/ 05 января 2011

Создайте обработчик HTTP и при реализации IHttpHandler обслуживайте содержимое HTML из памяти.Используйте правильный атрибут target в ссылке, чтобы вызвать новую вкладку / окно на клиенте.

(Это основано на теге asp.net на вопросе: вы пишете веб-сайт. Если этолокальное приложение (WinForms или WPF), затем вы можете встроить элемент управления браузера и установить его NavigateToString метод в HTML-текст.)

0 голосов
/ 17 марта 2014

Вот решение Javascript / JQuery:

<!DOCTYPE html>
<html>
<head>
<title>Open Custom HTML Page Without Saving</title>
<meta charset='utf-8'>
<meta name='viewport' content='initial-scale=1.0'>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.min.js'></script>
<script type='text/javascript'>
$(document).ready(function() {
  $('.preview-site').on('click', function(){
    window.open('javascript:document.write("'+ $('.workflow').val() +'")', 'Opened Page', 'width=660, height=440');
    return false;
  });
});
</script>
</head>
<body>
<a class="preview-site" title="Preview your workflow" href="javascript:void(0)">Preview your workflow</a><br/>

  <textarea class="workflow"><!DOCTYPE html>
<html>
<head>
<title>Hello world!</title>
<meta charset='utf-8'>
<meta name='viewport' content='initial-scale=1.0'>
</head>
<body>
  <h1>Hello World!</h1>
</body>
</html></textarea>
</body>
</html>
...