0

前もって感謝します...

私は KendoUI コントロールを初めて使用し、Kendo DropDownList コントロールの項目を変更したときにテキスト ボックス フィールドを更新する際に発生する問題を解決しようとしていました。

ビューが読み込まれるときに ViewData メソッドを使用して DropDownList にデータを入力し、その特定の行を返す Json 結果メソッドを呼び出して、テキスト ボックス フィールドにデータを入力します。

Json イベントをヒットすることはできますが、何らかの理由で jquery.min.js (jQuery v1.9.1) ファイルでエラーが発生し、関数 (データ) が起動せず、完全にスキップされます。

jquery.min.jsファイルから得られるエラーは次のとおりです...

GET http://localhost:52078/Settings/GetEtilizeLocale/7 500 (Internal Server Error)       jquery.min.js:19
b.ajaxTransport.send jquery.min.js:19
b.extend.ajax jquery.min.js:19
b.each.b.(anonymous function) jquery.min.js:19
ddlChange ViewLocales:192
i.extend.trigger kendo.all.min.js:9
o.extend._change kendo.all.min.js:14
o.extend._blur kendo.all.min.js:14
o.extend._focus kendo.all.min.js:14
o.extend._accept kendo.all.min.js:15
o.extend._click kendo.all.min.js:14
b.extend.proxy.b.isFunction.i jquery.min.js:4
b.event.dispatch jquery.min.js:4
b.event.add.v.handle

これが私のコードです...

JS ビュー

    //Auto populate other edit popup fields when ddl changes value

    function ddlChange(e) {            
        $.get("/Settings/GetEtilizeLocale/" + $("#EtilizeLocaleID").data().kendoDropDownList.value(), function (data)
        {
            alert($('#Name').value());
            //$('#Name').val(data.name);
            //$('#LanguageCode').val(data.languagecode);
            //$('#CountryCode').val(data.countrycode);
            //$('#IsActive').val(data.isactive);
        });            
    }

C# コントローラー

public ActionResult GetEtilizeLocale(int id = 0)
    {
        var dataContext = new EtilizeEntities();
        Etilize_Locale loc = dataContext.Etilize_Locale.Find(id);

        return Json(loc);
    }
4

1 に答える 1

0

最後にそれを理解しました!

変更する必要がありました

return Json(loc)

return Json(loc, JsonRequestBehavior.AllowGet);

この問題に遭遇したことがある人のために。

于 2013-07-26T12:17:54.453 に答える