Никогда не используйте конкатенации строк при работе с JavaScript.Если вы хотите передать некоторую модель на стороне сервера в переменную javascript, вы можете JSON-сериализовать ее следующим образом, чтобы убедиться, что опасные символы должным образом экранированы:
var graphByMonth = @Json.Encode(Model.Cost.Select(cost => new {
cpm = cost.CPM, endDate = cost.EndDate
}));
, что будет отображаться как:
var graphByMonth = [
{ cost: '1', endDate: 'date 1' },
{ cost: '2', endDate: 'date 2' },
{ cost: '3', endDate: 'date 3' }
];
Используя Json.Encode
, вы гарантируете, что значения правильно закодированы, и у вас не будет никакого нарушенного синтаксиса, который вы получите, если когда-нибудь попробуете сделать это вручную, используя конкатенации строк, циклы foreach или что-то еще.