Я согласен с оценкой Джейсоном первоначального решения, которое я предложил, оно определенно может быть улучшено. Мое решение представляет менталитет javascript в старшей школе (читай, до появления ajax и json). Всегда есть лучшие способы решения проблемы, что является одной из причин, почему stackoverflow такой крутой. В целом мы лучше умеем программировать, чем кто-либо из нас в одиночку.
Основываясь на идеях Джейсона, я бы пересмотрел свой исходный код и пересмотрел некоторые из предложенных Джейсоном. Реализуйте класс C # с двумя свойствами: идентификатором ресурса img и свойством, содержащим WebResourceUrl. Затем, в чем я немного отличаюсь от Jason, это то, что вместо использования словаря я бы предложил использовать список, который затем можно сериализовать в JSON (используя DataContractJsonSerializer ) и выдавать JSON в качестве динамического сценарий, вместо того, чтобы вручную генерировать JavaScript, используя строку Buider.
Почему список? Я думаю, вы можете обнаружить, что словари при сериализации в json, по крайней мере, с использованием DataContractJsonSerializer (fyi доступен только с платформой 3.5, с фреймворком 2.0 или 3.0, который вам нужно подключить к aspnet ajax и использовать json serializer), являются немного более громоздким для работы, чем, как список будет сериализован. Хотя это субъективно.
Есть и последствия с вашим клиентским кодом. Теперь на стороне клиента у вас будет массив сериализованных экземпляров json MyImageResourceClass. Вам нужно будет перебирать этот массив, создавая теги img по ходу работы.
Надеемся, что эти идеи и предложения помогут вам начать работу! И, несомненно, есть и другие решения. Мне интересно посмотреть, что из этого выйдет.