0

私は MVC4 プロジェクトに取り組んでおり、問題に直面しています。私が取り組んでいるプロジェクトは Web フォームで開発されました。ページの html は既にデータベースに保存されています。この html を DB から取得し、ビューに表示しています。問題は、この Html にもイメージとリンクが含まれており、これらは Web フォーム アプリケーションでは正常に機能していますが、MVC ではイメージとリンクが機能していないことです。つまり、同じフォルダー構造を作成したにもかかわらず、無効なパスのためにイメージが読み込まれません。ここに例があります。

App_Themes/Theme1/Img/download_icon.gif フォルダーに画像があるとします。MVC プロジェクトでは、このイメージに /App_Themes/Theme1/Img/download_icon.gif のような src を指定すると正しくロードされますが、App_Themes/Theme1/Img/download_icon.gif のような src を指定するとロードされず、これはDb に保存されます。私の質問は、Db からのすべての画像を html で正しくロードするにはどうすればよいですか?

4

1 に答える 1

0

トリッキーなシナリオがあります。Html タグをデータベースに保持することは常に悪い習慣です。これは、将来この種の問題を引き起こす可能性があり、現在それに取り組んでいる開発者に頭痛の種を与える可能性があるためです。私の意見では解決策はありませんが、これを克服するための回避策を提案しています。これは仮想ディレクトリの問題Url.contentです。

データベースからhtmlを取得する方法。だから私はあなたがこれに似たものを持っていると信じています. string htmlContent = getHtmlforPage1() ページ1のすべてのhtmlが返さHtmlString()れ、それをビューに表示するために使用します。

に置き換えることができ<img src=blah\blah.img />ます"<img src="+ Url.Content(blah\blah.img") />。必要なのは、これを実現する関数を書き留めることだけです。

この質問では、 @Url.Content を使用する理由url.content() の必要性について 説明します。

可能であれば、html をデータベースに保存しないように変更してください

于 2013-08-17T08:30:31.540 に答える