«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему в моем выпадании ASP.NET MVC JQGRID показывает «неопределенное» значение?

Почему в моем выпадании ASP.NET MVC JQGRID показывает «неопределенное» значение?

Опубликовано в 2025-03-23
Просматривать:928

Why Does My ASP.NET MVC jqGrid Dropdown Show an

разрешение «неопределенного» значения в выпадании asp.net mvc jqgrid

]

, когда динамически заполняет раскрывающиеся в раскрывании JQGRID во время редактирования данных, часто появляется нежелательное «неопределенное» значение. Это связано с несоответствиями между структурой данных, которую ожидает JQGrid, и методом доставки данных.

исправить формат данных jqgrid:

]

идеальный формат для значения раскрытия: value: "fe: fedEx; in: intime; tn: tnt"

]

задача с текущим методом:

]

текущий подход использует ASP.NET MVC с JQUERY'S $. AJAX () для получения раскрывающихся данных. A stringbuilder манипулирует полученные данные в соответствии с форматом JQGrid, но сохраняется дополнительная «неопределенная» запись.

]

отладки выводов:

]

отладка Firebug указывает, что дополнительные кавычки, представленные sb.tostring () являются виновником. JQGrid добавляет свои собственные цитаты, что приводит к удвоенным цитатам и «неопределенной» проблеме.

]

Высшее решение: Использование dataUrl и buildselect

]

Вместо непосредственно манипулирования свойством value , более надежное решение включает использование свойств JQGrid dataUrl и BuildSelect Properties внутри editoptions или spearchoptions . Они позволяют получить настраиваемое извлечение и форматирование данных.

]

пример datairl action:

]
public JsonResult GetDestinationList() {
    List allDestinations = GetAllDestinations();
    return Json(allDestinations, JsonRequestBehavior.AllowGet);
}

пример buildselect function:

]
buildSelect: function(data) {
    var s = '';
    if (data && data.length) {
        for (var i = 0, l = data.length; i 

updated editoptions :

]
{
    name: 'destinations',
    editable: true,
    edittype: 'select',
    editoptions: {
        dataUrl: '/YourController/GetDestinationList', // Replace with your controller action path
        buildSelect: function(data) {
            // ... (buildSelect function from above) ...
        }
    }
}

Важные примечания:

    ]
  • вы можете использовать json (alldestinations); без jsonrequestbehavior.allowget , но вам нужно добавить ajaxselectoptions: {type: "post"} к вашим вариантам JQGRID.
  • в новых версиях jqgrid,
  • buildselect вызывается в $. ] Этот пересмотренный подход обеспечивает более чистый, более эффективный и менее подверженным ошибкам метод управления выпаданием JQGRID, что устраняет «неопределенную» проблему значения. Не забудьте заменить /yourcontroller/getDestinationlist на фактический путь к действию контроллера.
  • ]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3