jtable(.org) заполнить выпадающий список с помощью веб-метода

У меня есть приложение веб-форм ASP.NET, использующее плагин jquery jtable.org, и в основном оно работает нормально.

Единственная проблема, с которой я сталкиваюсь, это когда я пытаюсь предоставить опции для выпадающего списка с помощью метода List-Web:

Код ASP.NET (JTable)

 $img.click(function () {
                            $('#TestList').jtable('openChildTable',
                                $img.closest('tr'),
                                {
                                    title: '',
                                    actions: {
                                        listAction: 'Test.aspx/ListeAuftrag?FahrzeugID=' + fahrzeugData.record.FahrzeugID,
                                        deleteAction: 'Test.aspx/DeleteAuftrag',
                                        updateAction: 'Test.aspx/UpdateAuftrag',
                                        createAction: 'Test.aspx/CreateAuftrag'
                                    },
                                    fields: {
                                        Titel: {
                                            title: 'Titel'
                                        },
                                        FahrzeugID: {
                                            type: 'hidden',
                                            defaultValue: fahrzeugData.record.FahrzeugID
                                        },
                                        MitarbeiterID: {
                                            title: 'Mitarbeiter',
                                            defaultValue: '0',
                                            options: 'Fahrzeugliste.aspx/ListeMitarbeiter'
                                        },
                                        Start: {
                                            title: 'Start',
                                            type: 'date'
                                        },
                                        Ende: {
                                            title: 'Ende',
                                            type: 'date'
                                        },
                                        Bemerkung: {
                                            title: 'Bemerkung',
                                            type: 'textarea'
                                        }
                                    }
                                }, function (data) { //opened handler
                                    data.childTable.jtable('load');
                                });
                        });
                        //Return image to show on the person row
                        return $img;
                    }
                },
                KundeID: {
                    title: 'Kunde',
                    defaultValue: '0',
                    options: 'Test.aspx/ListeKunde'
                }  }
            }
        });

        $('#FahrzeugListe').jtable('load');
    });

Код-код для Test.aspx/ListeKunde

[WebMethod(EnableSession = true)]



 public static object ListeKunde()
    {
        try
        {
           Dictionary<string, string> kunden = new Dictionary<string,string>();

            foreach (Kunde kunde in db.Kunde)
            { 
                kunden.Add("'" + kunde.KundeID.ToString() + "'", "'" + kunde.Nachname + ", " + kunde.Vorname + "'");
            }

            return new { Result = "OK", Options = kunden };
        }
        catch (Exception ex)
        {
            return new { Result = "ERROR", Message = ex.Message };
        }
    }

Проблема в том, что выпадающий список остается пустым. На мой взгляд, проппер JSON-Data передается:

{Result:OK, Options:{'3':'Kunde, Dummy', '5':'asdf, assssss', '6':'asdf, asdf'}

Кто-нибудь может увидеть, где проблема?

1 ответ

Это то, что я делаю, чтобы получить список информации. Не сказать, что это лучший или единственный, но мой путь.

        public JsonResult NumberDropList(int start, int duration)
    {
        try
        {
            Dictionary<int, int> number = new Dictionary<int, int>();
            for (int i = start; i < duration; i++)
            {
                number.Add(i, i);
            }

            var numbers = number.Select(c => new { DisplayText = c.Key, Value = c.Value }).OrderBy(c => c.DisplayText).ToList();

            return Json(new { Result = "OK", Options = numbers });
        }
        catch (Exception ex)
        {
            return Json(new { Result = "ERROR", Message = ex.Message });
        }
    }
Другие вопросы по тегам