1

私はこのコードを持っています:

Categories = new[] 
{ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", 
  "Aug", "Sep", "Oct", "Nov", "Dec" };

これは、MVC3 の DotNet.Highcharts とうまく連携します。ただし、このようなNorthwindデータベースへのクエリの結果をカテゴリに動的に入力しようとしていました

IEnumerable <string> fname = from u in db.Order_Details.Take(12)
                             join w in db.Products
                             on u.ProductID equals w.ProductID
                             select w.ProductName;

string[] namearr = (string[])fname.ToArray();

.....

.SetXAxis(new XAxis
{
    Categories = namearr

....

現在、一部にnamarrはアポストロフィが含まれており、ハイチャートはそれらを処理できません。

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

3

うわー!!! インターネットを掘り下げた後、解決策を見つけました。そして、私は自分の質問に答えているので、誰かが役に立ち、時間があれば負荷を節約できます。どうやら2つのアプローチがあるようです

string[] namearr = (string[])fname.ToArray();
int j = 0;
foreach (string name in namearr)
{
    // option 1
    // namearr[j++]= HttpUtility.HtmlEncode(name);

    // option 2
    namearr[j++] = name.Replace("'", "\\\'");
}

Commented ソリューションは html をエンコードしたままにしますが、2 番目のソリューションは正常に動作します。

于 2013-07-19T00:37:29.200 に答える