0

データベーステーブルから取り込まれている画像ツールチップがある場合。サーバー側の C# コードから以下の html を生成しています

  public string GetImage()
 {
  return "<img class='iconSpace' title ='" + dataIssue + "' src='/Content/Images/Icons" + size + "/information_red.png' />";
}

問題は、変数 dataIssue にアポストロフィが含まれている場合、その時点までの文字列内の文字のみが表示されることです。

上記のコードで、ツールチップに文字列全体を表示する最良の方法は何ですか?

4

3 に答える 3

1

'" < > &は HTML の特別な記号ではなく、ブラウザは文字列全体を問題なく表示しますが、エスケープする必要がある次の記号で問題が発生する可能性があります。

&quot;
&lt;
&gt;
&amp;

お使いのブラウザが HTML 標準を正しく処理せず、残りの文字列を切り取る場合は、一重引用符を使用してエスケープしてみてください。&#39;これはすべてのブラウザで機能します。

したがって、HTML 標準の属性値によると"、 ではなく記号で囲む必要が'あるため、ここでの問題は解決する必要があります。

dataIssue = any_kind_of_html_escape_function_here(dataIssue);
return "<img class=\"iconSpace\" title=\"" + dataIssue + "\" src=\"/Content/Images/Icons" + size + "/information_red.png\" />";

asp.net の場合、htmlencode 関数はここで定義されています: http://msdn.microsoft.com/en-us/library/w3te6wfz.aspx

于 2013-10-21T23:49:02.067 に答える
0

あなたはHttpUtility.HtmlEncode("...")それに使うべきです。

http://msdn.microsoft.com/en-us/library/73z22y6h.aspx

于 2013-10-22T07:42:58.523 に答える