ホームページ > バックエンド開発 > C++ > ASP.NET MVC $.post 呼び出しからの jqGrid ドロップダウン応答を適切にフォーマットする方法

ASP.NET MVC $.post 呼び出しからの jqGrid ドロップダウン応答を適切にフォーマットする方法

Susan Sarandon
リリース: 2025-01-11 09:07:41
オリジナル
956 人が閲覧しました

How to Properly Format jqGrid Dropdown Responses from ASP.NET MVC $.post Calls?

ASP.NET MVC および jqGrid ドロップダウン リストのデータ形式: $.post 呼び出しの問題の解決

ASP.NET MVC では、jqGrid の編集データ ドロップダウン リストに動的にデータを入力できます。ただし、ドロップダウン リストに「未定義」の値が表示されるという問題が発生する場合があります。これは、jqGrid のデータ形式が原因である可能性があります。

問題の概要

jQuery を使用して $.post 呼び出しを行う場合、コントローラーから受信したデータに二重引用符が含まれる場合があります。これにより、jqGrid ではドロップダウンの値が "value:value;..." の形式であることが期待されるため、問題が発生します。

解決策: ContentResult を使用します

この問題を解決するには、Json の代わりに ContentResult メソッドを使用します。 ContentResult の構文は次のとおりです:

<code class="language-csharp">return Content(sb.ToString());</code>
ログイン後にコピー

代替: dataUrl と buildSelect を使用します

別のオプションは、jqGrid の editoptions または searchoptions で dataUrl 属性と buildSelect 属性を使用することです。 dataUrl を使用して、jqGrid の select 要素で必要な形式でデータを返す URL を指定します。 buildSelect は、データを受け取り、select 要素の HTML を返すカスタム関数です。

コード例

dataUrl と buildSelect の使用例を次に示します。

コントローラーの操作:

<code class="language-csharp">public JsonResult GetDestinationList() {
    List<string> allDestinations = GetAllDestinations();
    return Json(allDestinations, JsonRequestBehavior.AllowGet);
}</code>
ログイン後にコピー

jqGrid オプション:

<code class="language-javascript">{ name: 'destinations', editable: true, edittype:'select',
  editoptions: { dataUrl: '/YourController/GetDestinationList', buildSelect: function(data){
    var s = '<select>';
    if (data && data.length) {
        for (var i = 0, l=data.length; i<l ; i++) {
            var ri = data[i];
            s += '<option value="' + ri + '">' + ri + '</option>';
        }
    }
    s += '</select>';
    return s;
  }}
}</code>
ログイン後にコピー

概要

ContentResult メソッドまたは dataUrl プロパティと buildSelect プロパティを使用して、ASP.NET MVC の $.post 呼び出しから jqGrid ドロップダウン値の正しいデータ形式を提供できます。

以上がASP.NET MVC $.post 呼び出しからの jqGrid ドロップダウン応答を適切にフォーマットする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート