>백엔드 개발 >C++ >내 ASP.NET MVC $.post 요청이 jqGrid 드롭다운에 대해 예기치 않은 형식의 문자열을 반환하는 이유는 무엇입니까?

내 ASP.NET MVC $.post 요청이 jqGrid 드롭다운에 대해 예기치 않은 형식의 문자열을 반환하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-11 07:23:42432검색

Why Does My ASP.NET MVC $.post Request Return Unexpectedly Formatted Strings for jqGrid Dropdowns?

ASP.NET MVC 및 jqGrid 드롭다운 메뉴의 문자열 형식 문제

개요

jqGrid를 사용하여 데이터 편집을 위한 드롭다운 메뉴를 동적으로 채우는 경우 추가 "정의되지 않은" 항목이 드롭다운 메뉴에 나타납니다. 이 문제는 드롭다운 메뉴 값을 채우는 데 사용되는 문자열 형식으로 인해 발생합니다.

문제 분석

jqGrid에서는 드롭다운 메뉴 값 형식이 다음과 같아야 합니다.

<code>value: "FE:FedEx; IN:InTime; TN:TNT"</code>

그러나 ASP.NET MVC 작업의 코드는 값 주위에 불필요한 따옴표를 추가하는 sb.ToString()을 사용하여 문자열을 생성합니다.

<code>value: ""ID: One;ID: Two;ID: Three;ID: Four;ID: Five;""</code>

솔루션

방법 1: dataUrl 사용

이 문제를 해결하려면 jqGrid에서 editoptions 또는 searchoptions의 dataUrl 속성을 사용하는 것이 좋습니다. 이를 통해 원하는 형식으로 결과를 반환하는 URL을 지정할 수 있습니다.

<code>{ name: 'destinations', ditable: true, edittype:'select',
  editoptions: { dataUrl:'<%= Url.Action("GetDestinationList","Home") %>' }
}</code>

컨트롤러에서 GetDestinationList 작업은 드롭다운 메뉴 값이 포함된 JSON 배열을 반환해야 합니다.

<code>public JsonResult GetDestinationList() {
    List<string> allDestinations = GetAllDestinations();
    Json(allDestinations, JsonRequestBehavior.AllowGet);
}</code>

방법 2: buildSelect 기능 사용

dataUrl을 사용할 수 없는 경우 buildSelect 함수를 사용하여 드롭다운 메뉴 값의 형식을 지정할 수 있습니다.

<code class="language-javascript">                 buildSelect: function(data) {
                     var s = '';
                     if (response && response.length) {
                         for (var i = 0, l=response.length; i<l ; i++) {
                             var ri = response[i];
                             s += ''+ri+'';
                         }
                     }
                     return s + "";
                 }</code>

서버로부터 응답 데이터를 받아 필요한 형식으로 문자열을 반환하는 함수입니다.

위 내용은 내 ASP.NET MVC $.post 요청이 jqGrid 드롭다운에 대해 예기치 않은 형식의 문자열을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.