Hy、別のタブ/ウィンドウでhtmlファイルをディスクに保存せずにプレビューする方法はありますか?
私のアプリケーションでは、文字列をhtmlファイルのコンテンツとして保存します。
このコンテンツをブラウザでプレビューすることはできますが(元のコンテンツから変更されていると仮定します)、ローカルでディスクに保存する必要はありません。
プレビューは別のタブまたはウィンドウに表示されます。
誰にも分かりませんか?
ありがとうございます。
ジェフ
Hy、別のタブ/ウィンドウでhtmlファイルをディスクに保存せずにプレビューする方法はありますか?
私のアプリケーションでは、文字列をhtmlファイルのコンテンツとして保存します。
このコンテンツをブラウザでプレビューすることはできますが(元のコンテンツから変更されていると仮定します)、ローカルでディスクに保存する必要はありません。
プレビューは別のタブまたはウィンドウに表示されます。
誰にも分かりませんか?
ありがとうございます。
ジェフ
セッション変数にコンテンツを保存し、ダミーページを作成して、ページ変数イベントのセッション変数からコンテンツに読み込みます。
あなたの一時コンテンツがSession["TempPage"] = Content;
を作成している
し、ページのLoadイベントの背後にあるコードと空である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>
Creating "in memory" Files
How Make A Text File In Memory And Write Something On It And Open NotePad In Client And Open That File In It?
それは大丈夫だけど、プレビューは、それは同じウィンドウ/タブにあります。.. –
HTTPハンドラを作成し、IHttpHandler
の実装では、メモリからのHTMLコンテンツを提供します。リンク上の正しいtarget
属性を使用して、クライアント上で新しいタブ/ウィンドウを強制します。
(Webサイトを作成している場合は、asp.net
タグに基づいています。ローカルアプリケーション(WinFormsまたはWPF)の場合は、ブラウザコントロールを埋め込み、NavigateToString
メソッドをHTMLテキストに設定できます。)
あなたは、このためのいくつかのコードを与えることができますか?私はasp.netのウェブサイトを持っています –
MSDNのリンクされた 'IHttpHandler'ページにはウォークスルーへのリンクがあります。構造化されたサンプル)と概要。で始まる:http://msdn.microsoft.com/en-us/library/ms228090.aspx – Richard
私はiframeとjavascriptを使用します。 iframeウィンドウを埋めるにはjavascriptとdocument.writeを使います。
私はWindowsフォームを使用していない、Cでasp.net Webアプリケーション# –
ああ、すみません、私はそれを素早く読んでいます...その場合は、iframeとjavascriptを使用します。 iframeウィンドウを埋めるにはjavascriptとdocument.writeを使います。 –
ほとんどの場合、新しいウィンドウを開く方法は問題ですか?これはアクションを促すものに依存します。ハイパーリンクの場合は、target="_blank"
を追加してください。そうでない場合や、ウィンドウをより詳細に制御したい場合は、javascriptを使用してください。
ディスクに保存しないでコンテンツを表示することは、サーバー側コードの本質であり、これを行わないとWebサイトを作成することはできません。
のResponse.Write(のmyString)
はここで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>
yep ..私はこれを試しました、それは同じウィンドウ/タブで開きます。別のウィンドウ/タブで開く必要があります –
私の更新を参照してください..私は言ったように – StefanE
.. HTMLコンテンツはそれはユーザーがいくつかのボタンを押したときに、何らかのクライアントスクリプト(javascript)でhtml comntentを読んで、それをコードの後ろの文字列に戻すことを意味します。それで、方法がないので、をどうすれば使えますか? –