Я использую https://github.com/swisnl/jQuery-contextMenu в своем веб-проекте. Библиотека ожидает элементы контекстного меню в следующем формате:
items: {
foo: {name: "Foo", callback: function(key, opt){ alert("Foo!"); }},
bar: {name: "Bar", callback: function(key, opt){ alert("Bar!") }}
}
Я создаю контекстное меню на стороне сервера и хочу определить items
как список, поэтому я помещаю элементы это меню вместе динамически и возможность просто myContextMenuItems.Add(myContextMenuItem)
практична в этой ситуации, в отличие от установки имен для того, что по сути является списком в любом случае:
items: [
{name: "Foo", callback: function(key, opt){ alert("Foo!");}},
{name: "Bar", callback: function(key, opt){ alert("Bar!");}},
]
Итак, мой вопрос в том, как я могу преобразовать последнее в первую. Пока я понял, что могу заменять имена случайными GUID. Примерно так:
items: {
Guid.NewGuid() : {name: "Foo", callback: function(key, opt){ alert("Foo!"); }},
Guid.NewGuid() : {name: "Bar", callback: function(key, opt){ alert("Bar!") }}
}
Я использую Newtonsoft json на сервере.