ホームページ > バックエンド開発 > C++ > jQuery $.post と ASP.NET MVC を使用して jqGrid ドロップダウンを正しく設定する方法

jQuery $.post と ASP.NET MVC を使用して jqGrid ドロップダウンを正しく設定する方法

Barbara Streisand
リリース: 2025-01-11 07:38:45
オリジナル
387 人が閲覧しました

How to Correctly Populate jqGrid Dropdowns Using jQuery $.post and ASP.NET MVC?

jQuery $.post と ASP.NET MVC を使用して jqGrid ドロップダウンを正しく設定する

この記事では、jQuery の $.post メソッドと ASP.NET MVC を使用して jqGrid ドロップダウンを動的に設定するときの一般的な問題、つまりデータ形式が正しくないために「未定義」値を受け取る問題に対処します。

問題: 間違ったデータ形式が jqGrid に送信され、ドロップダウン値が「未定義」になります。 jqGrid は特定の形式 (例: value: "FE:FedEx; IN:InTime; TN:TNT") を想定していますが、リクエストは別の形式でデータを返す可能性があります。

元のリクエストと応答: 元のアプローチでは、おそらく $.post を使用して JSON データを取得しました。ただし、JSON 構造は jqGrid の期待と一致しませんでした。 この解決策には、値の作成中に余分な引用符を削除し、コントローラーの応答を ContentResult(sb.ToString()) に変更することが含まれていました。 これは堅牢性の低い方法です。

より堅牢なソリューション: dataUrlbuildSelect

を活用する

優れたアプローチでは、jqGrid の dataUrl および buildSelect 機能を使用して、よりクリーンで保守しやすいコードを実現します。

dataUrl: このプロパティは、解析に適した、より単純な形式でデータを返す URL を指定します。 この形式は、キーと値のペアの文字列として事前にフォーマットする必要はありません。

buildSelect: このコールバック関数は、サーバーの応答 (理想的には JSON) を処理し、正しいドロップダウン HTML を構築します。これにより、データの取得とデータの書式設定が分離され、コードの構成と読みやすさが向上します。

実装例:

コントローラー (ASP.NET MVC):

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

jqGrid 構成 (JavaScript):

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

この改訂されたアプローチは、jqGrid ドロップダウンを設定するための、より効率的で保守可能なソリューションを提供します。 サーバーは単純なデータを返し、クライアント側の buildSelect 関数が書式設定を処理するため、懸念事項がより適切に分離されます。 /YourController/GetDestinationList をコントローラー アクションの実際の URL に置き換えることを忘れないでください。

以上がjQuery $.post と ASP.NET MVC を使用して jqGrid ドロップダウンを正しく設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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