0

XHTMLの一部をテキストとして検索インデックスに保存しています。ユーザーが検索リクエストを送信したら、このテキストを自分のページに挿入してサーバーに返します。これは、テキストにISO 8859-1記号(著作権記号©など)が含まれている場合を除いて、すべて正常に機能します。シンボルはブラウザで正しく表示されません。エンティティ番号(著作権シンボル©の場合は©)として表示され、シンボルとして表示されません。

XHTMLをコピーして静的Webページに貼り付け、ブラウザーで見ると、シンボルが正しくレンダリングされます。

ソースを表示すると、上記の両方の条件で同じテキスト文字列が表示されます。

何が起こっているのか、どうすれば修正できるのか教えてください。

ASP.NET MVC 2を使用しており、次のコードを使用して、モデルが文字列のコレクションであり、それぞれがXHTMLの一部を保持している.ascxページ内にXHTMLを追加しています。

<%foreach(string s in ViewData.Model)  {%>
  <%= s %>
  <%} %>   
<%

ご協力いただきありがとうございます!

CoderGeek

4

2 に答える 2

2

文字列を正しくレンダリングするには、文字列をhtmlエンコードする必要があります。

<%= Html.Encode(s) %>

または、ASP.NET 4を使用している場合は、新しいコードナゲットショートカットを利用できます。

<%: s %>
于 2010-02-23T19:35:09.460 に答える
0

ただし、copyrigthシンボルが実際に©または©になるように、入力をhtmlエンコードする必要があります。これにより、htmlエンコードとして出力されるか、htmlデコードできます!!!! 元の状態に戻すには

于 2010-02-24T00:35:06.387 に答える