Tôi đang cố gắng tự động điền một menu thả xuống cho jqGrid khi người dùng đang chỉnh sửa dữ liệu. Tôi có nó khá nhiều làm việc tuy nhiên, có một giá trị trong các cuộc gọi thả xuống "undefined". Tôi nghi ngờ điều này là do cách tôi đang gửi dữ liệu vào lưới. Tôi đang sử dụng ASP.NET MVC 2 và tôi nhận được dữ liệu cho thả xuống bằng jQuery như vậy:
var destinations = $.ajax({ type:"POST",
url: '<%= Url.Action("GetDestinations", "Logger") %>',
dataType: "json",
async: false,
success: function(data) {
} }).responseText;
Bây giờ, jqGrid muốn các giá trị cho thả xuống được định dạng như thế này:
value: "FE:FedEx; IN:InTime; TN:TNT"
tôi đang sử dụng StringBuilder để lặp qua bộ sưu tập của tôi và cung cấp các chuỗi thích rằng jqGrid muốn:
foreach (var q in query)
{
sb.Append("ID:");
sb.Append(q.Destination);
sb.Append("; ");
}
tôi trở lại này từ bộ điều khiển của tôi như thế này:
return this.Json(sb.ToString());
Đây là tất cả sưng lên và tôi nhận được tất cả các mục tôi cần cho menu thả xuống nhưng có một mục bổ sung (mục cuối cùng) được gọi là "không xác định".
Tôi nghĩ vấn đề là khi tôi gỡ lỗi trong Firebug, kết quả cho jqGrid trông như thế này:
value: ""ID: One;ID: Two;ID: Three;ID: Four;ID: Five;""
Xem cách có hai bộ dấu ngoặc kép. Điều này có thể vì khi tôi nói:
sb.ToString()
Nó có thể tạo dấu ngoặc kép và sau đó jqGrid thêm tập thứ hai. Nhưng tôi không phải 100% trên đó.
Cách tốt nhất để giải quyết vấn đề này là gì? Mọi lời khuyên sẽ được đánh giá cao.
SOLUTION:.
tôi giải quyết điều này bằng cách sử dụng trở ContentResult (sb.ToString();
Tôi muốn sử dụng phương pháp dataUrl như Oleg đề cập nhưng chưa nhận rằng làm việc chưa
Nếu bạn cố gắng loại bỏ dấu chấm phẩy ";" cuối cùng? Chỉ cần một ý nghĩ ... – BFree
jqGrid cần dấu chấm phẩy để biểu thị mục tiếp theo trong trình đơn thả xuống. – dolphy
Ok, tôi nghĩ tôi hiểu. Bán kết cuối cùng đang gây ra vấn đề. Làm việc trên nó ngay bây giờ. – dolphy