データベースのデータに基づいて、ビュー内に文字列の配列を渡す必要があります。だから私は、コントローラでこのコードを持っている:我々はblobfileをフィールドとBlobFilesコレクションの両方を持っている理由ASP .NET MVC3 ViewBagサニタイズ文字列
今 string top_six_string = "[";
foreach (ObjectModel om in collection)
{
myProject.Models.BlobFile file = null;
if (om.BlobFile != null)
{
file = om.BlobFile;
}
else if (om.BlobFiles.Count != 0)
{
file = om.BlobFiles.First();
}
if (file != null)
{
top_six_string += " \"" + file.BlobFileID + "\",";
}
}
top_six_string = top_six_string.TrimEnd(',');
top_six_string += "]";
ViewBag.TopSixList = top_six_string;
、私は特に理解していないが、それはその時点ではありません。ポイントは、デバッグは、私が望む文字列(["25"、 "21"、 "61"、 "59"]の形式)を正確に取得することを示しています。だから、
[ "25", "21", "61", "59"]
:
しかし、JavaScriptを実行しているとき、私は「予期しない文字&」、と少しソース閲覧Chromeでの混乱エラーを得たが、文字列は次のように探して出てきたことを学ぶために私を導きました私の前提は、ViewBagは の表示のHTMLに渡された文字列を消毒しているが、明らかにそれは私の心配ではない。私は私の前提で正しいですか?この情報を見るために別の方法がありますか?後で文字列を引用符に戻すことができますか?
@それは最初にそれらを消毒せずに自分のサイトに、生の文字列を送信するために悪い考えです。悪意のあるユーザーがJavaScriptを使用して自分のデータを送信し、サイトをハックする可能性があります。注意してください。 –