Я пытаюсь динамически заполнить раскрывающийся список для jqGrid, когда пользователь редактирует данные. Однако у меня это довольно много работает, в раскрывающемся списке есть одно значение "undefined". Я подозреваю, что это связано с тем, как я отправляю данные в сетку. Я использую ASP.NET MVC 2 и получаю данные для раскрывающегося списка с помощью jQuery следующим образом:
var destinations = $.ajax({ type:"POST",
url: '<%= Url.Action("GetDestinations", "Logger") %>',
dataType: "json",
async: false,
success: function(data) {
} }).responseText;
Теперь jqGrid хочет, чтобы значения для раскрывающегося списка были отформатированы следующим образом:
value: "FE:FedEx; IN:InTime; TN:TNT"
Я использую StringBuilder чтобы перебрать мою коллекцию и предоставить правильную строку, которую хочет jqGrid:
foreach (var q in query)
{
sb.Append("ID:");
sb.Append(q.Destination);
sb.Append("; ");
}
Я возвращаю это из своего контроллера следующим образом:
return this.Json(sb.ToString());
Это все здорово, и я получаю все элементы, которые мне нужны для раскрывающегося списка, но есть дополнительный элемент (последний) под названием «undefined».
Я думаю, что проблема в том, когда я отлаживаю в FireBug, результат для jqGrid выглядит так:
value: ""ID: One;ID: Two;ID: Three;ID: Four;ID: Five;""
Посмотрите, как есть два набора кавычек. Вероятно, это потому, что когда я говорю:
sb.ToString()
Он, вероятно, генерирует кавычки, а затем jqGrid добавляет второй набор. Но я не на все 100%.
Как лучше всего с этим справиться? Любой совет будет очень признателен.
РЕШЕНИЕ:
Я решил эту проблему, используя Но я не на все 100%.
Как лучше всего с этим справиться? Любой совет будет очень признателен.
РЕШЕНИЕ:
Я решил эту проблему, используя Но я не на все 100%.
Как лучше всего с этим справиться? Любой совет будет очень признателен.
РЕШЕНИЕ:
Я решил эту проблему, используя return ContentResult (sb.ToString ();
Я хотел бы использовать метод dataUrl, как упоминал Олег, но он еще не работает.