powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему на клиенте Dictionary приходит осортированный
14 сообщений из 14, страница 1 из 1
Почему на клиенте Dictionary приходит осортированный
    #39085754
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот такой Dictionary:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
            Dictionary<String, int> columns = new Dictionary<String, int>();
            columns.Add(Resources.Strings.BagN, 10);
            columns.Add("10", 15);
            columns.Add("50", 15);
            columns.Add("100", 15);
            columns.Add("500", 15);
            columns.Add("1000", 15);
            columns.Add("5000", 10);



Почему на клиенте он приходит отсортированный. Т.е. 1-е значение в цикле последнее.
Цикл такой:
Код: javascript
1.
2.
3.
                $.each(model.Columns, function (key, val) {
                    str += jQuery.validator.format("<th style='width:{0}%;'>{1}</th>", val, key);
                });
...
Рейтинг: 0 / 0
Почему на клиенте Dictionary приходит осортированный
    #39085771
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavluhaПочему на клиенте он приходит отсортированный
потому что порядок элементов при перечислении не определён

Если порядок важен - List используйте
...
Рейтинг: 0 / 0
Почему на клиенте Dictionary приходит осортированный
    #39085791
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропил,

И какой тип тогда использовать вместо dictionary?
...
Рейтинг: 0 / 0
Почему на клиенте Dictionary приходит осортированный
    #39085793
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже у ТС тоже сортировка сбита ))
PavluhaИ какой тип тогда использовать вместо dictionary?ИзопропилЕсли порядок важен - List используйте
...
Рейтинг: 0 / 0
Почему на клиенте Dictionary приходит осортированный
    #39085799
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

С каких это пор list поддерживает <key, Value>, если только это не SortedList?
...
Рейтинг: 0 / 0
Почему на клиенте Dictionary приходит осортированный
    #39085805
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavluhaShocker.Pro,

С каких это пор list поддерживает <key, Value>, если только это не SortedList?

Ты в курсе, что в твоей функции

Код: javascript
1.
2.
3.
function (key, val) {
                    str += jQuery.validator.format("<th style='width:{0}%;'>{1}</th>", val, key);
                }



В key приходит индекс элемента в коллекции, а не key твоего словаря?
...
Рейтинг: 0 / 0
Почему на клиенте Dictionary приходит осортированный
    #39085806
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiquePavluhaShocker.Pro,

С каких это пор list поддерживает <key, Value>, если только это не SortedList?

Ты в курсе, что в твоей функции

Код: javascript
1.
2.
3.
function (key, val) {
                    str += jQuery.validator.format("<th style='width:{0}%;'>{1}</th>", val, key);
                }



В key приходит индекс элемента в коллекции, а не key твоего словаря?

Был неправ - в случае ассоциативного массива - выводит как раз имя и значение.
...
Рейтинг: 0 / 0
Почему на клиенте Dictionary приходит осортированный
    #39085807
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилPavluhaПочему на клиенте он приходит отсортированный
потому что порядок элементов при перечислении не определён

Если порядок важен - List используйте

Можно пояснить?

На клиенте он уже имеет дело с обычным объектом, который уже "забыл" кем он был на сервере.

На клиенте он уже обыкновенный объект JS.
...
Рейтинг: 0 / 0
Почему на клиенте Dictionary приходит осортированный
    #39085810
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Monochromatique,

Уже переделал все на List<KeyValuePair<String, int>>. Вроде работает.


У меня есть другой вопрос, но немного иной.
Как мне передать в функцию массив, чтобы он нормально потом распарсился в запросе ajax.

Делаю так:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
        @{ 
            var paramValue = String.Format(" \"id\" : {0} ", item.terminalID);
        }
        <td nowrap="nowrap">
        	<input type="image" title="@Html.Resource("Strings, Details")" src="@Url.Content(HelperTheme.Instance.GetImageUrl("details.png"))" 
                onclick="javascript:GetPopupData('@paramValue')"/>
        </td>


    function GetPopupData(param) {
        var data = param.split(',');
        $.ajax({
            url: $('#DataUrlAction').val(),
            type: "GET",
            data: { data },


Где параметр data там ошибка. Как переделать можно?
...
Рейтинг: 0 / 0
Почему на клиенте Dictionary приходит осортированный
    #39085813
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
var data = param.split(',');

В param есть запятая?
...
Рейтинг: 0 / 0
Почему на клиенте Dictionary приходит осортированный
    #39085814
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavluhaMonochromatique,

Уже переделал все на List<KeyValuePair<String, int>>. Вроде работает.

Не понял. Какая разница - какую коллекцию ты создаешь на сервере, хоть myUberDoubleOrderedCollection - на клиенте ты передаешь в .each - обыкновенный ассоциированный массив.
...
Рейтинг: 0 / 0
Почему на клиенте Dictionary приходит осортированный
    #39085816
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Monochromatique,

Проблема была в том, что на клиенте все сортировалось.

По 2-му вопросу. Строка имеет формат сейчас такой : javascript:GetPopupData('[{"Key":"id","Value":3}]')
Пробую парсить, не получается
...
Рейтинг: 0 / 0
Почему на клиенте Dictionary приходит осортированный
    #39085826
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavluhaMonochromatique,

Проблема была в том, что на клиенте все сортировалось.

По 2-му вопросу. Строка имеет формат сейчас такой : javascript:GetPopupData('[{"Key":"id","Value":3}]')
Пробую парсить, не получается

Где пробуешь парсить, что не получается?!?

Что бы передать id на сервер писать надо так:

Код: javascript
1.
data: {id:3}
...
Рейтинг: 0 / 0
Почему на клиенте Dictionary приходит осортированный
    #39085844
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Monochromatique,

Я знаю, как передавать параметры. а вот как передать строку с параметрами в метод, в котором вызывает сам запрос не пойму.
Делаю так:
Код: javascript
1.
2.
3.
4.
        $.ajax({
            url: $('#DataUrlAction').val(),
            type: "GET",
            data: jQuery.parseJSON(param),



Приходит ошибка 500. Не передаю id
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему на клиенте Dictionary приходит осортированный
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]