0

単なるクエリです。@Html.Raw(Item.sometext)以前に使用したことがあり、html タグを正しくデコードします。json 形式の remore ソースからデータを取得していますが、ページに表示すると、Html.raw が html タグをデコードしていないことがわかりました。

私が使用した問題を解決するには:

@Html.Raw(HttpUtility.HtmlDecode(Item.sometext))

だから私の質問は、理由が気になるので、なぜそうなったのか誰か教えてください。mvc4とasp.net 4.5を使用しています

ありがとう

ジョージ

4

1 に答える 1

3

これが私の意味をよりよく説明するための私の答えです(コメントで)。

あなたのJSONは、例えば(あなたが提供した)次のようにフォーマットされています:

<p><b>Location. <\/b> <br \/>...

ただし、これは有効な HTML ではありません。スラッシュ「/」にエスケープ文字が使用されていることに注意してください。したがって、この値を渡すHtml.Rawと出力されます (はずです) が、有効な HTML ではないため、正しく表示されない可能性があります (何も表示されない場合)。

Html.Decodeこのエスケープ文字の問題は、以下を効果的に返すを使用して修正できます。

<p><b>Location. </b> <br />...

これは有効な HTML であるためHtml.Raw、問題なく渡すことができます。


注:Html.Rawはエンコード/デコードを行いません。実際、提供された値は既に生の HTML であるため、エンコードしないように明示的に指示します。これはここで確認されています

指定されたテキストが実際の HTML フラグメントを表し、エンコードする必要がなく、HTTP 応答へのマークアップとしてレンダリングする場合は、Raw メソッドを使用します。

于 2013-04-16T11:41:53.847 に答える