разрешение «неопределенного» значения в выпадании 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, что устраняет «неопределенную» проблему значения. Не забудьте заменить /yourcontroller/getDestinationlist
на фактический путь к действию контроллера. Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3