0

ASP.NETMVC3アプリケーションがあります。私のアプリケーションでは、外部HTMLページをレンダリングできる必要があります。これらのHTMLページは単純なファイル構造で保存され、画像、CSS、およびJSファイルはフォルダーに保存されます。基本的に、HTMLファイルを開くと、ページがレンダリングされるとおりにレンダリングされます。私が欲しいのは、このページをプログラムでレンダリングできるようにすることです。

これまでのところ、私は次のようなものを試しました:

Response.WriteFile(path)

return new FilePathResult("~/Path", "text/html");

問題は、htmlソースのみをロードするため、リソース(画像、CSS、およびJSファイル)がロードされないことです。

含まれている他のファイルでhtmlファイルを正しくレンダリングできるようにするにはどうすればよいですか?

PS:この機能が私のアプリケーションのセキュリティホールになる可能性があることを私は知っています。ありがとう!

編集:Darinが指摘したように、iframeを使用してレンダリングされたHTMLページをビューに配置できます。これは私が現在使用しているものですが、より安全なソリューション、つまり実際のHTMLページへのアクセスを許可しないソリューションを実装したいと考えています。

4

1 に答える 1

1

html ファイルを他のインクルード ファイルと共に正しくレンダリングできるようにするにはどうすればよいですか?

iframe を使用できます。

<iframe src="/somepage.html"></iframe>

このreturn new FilePathResult("~/Path", "text/html");HTML ページで参照される静的リソース (CSS、javascript、画像など) は、現在の URL または絶対 URL に対して相対的である必要があるだけです (静的 HTML の場合、これはより困難です)。

于 2013-03-18T10:06:13.780 に答える