Model.property を Select2 プラグインのデータにマッピングしようとしていますが、うまくいきません。コンソールに「TypeError: 無効な 'in' オペランド結果」が表示され続けます。
public class Items{
public int id;
public string text;
};
public class Model{
...
public Items[] arr { get; set; }
...
}
モデルは、jsScript がいくつかの魔法を行う Razor 部分ビューに渡されます
<script>
$(document).ready(function(){
$('#sel').select2({
data: '@Model.arr',
...
});
</script>
選択ボックス内をクリックしてその中の項目を表示するまで、すべて問題ないように見えます。次に、前述のコンソール エラーが発生します。
私の問題の解決策:
// Changed the property of Model class to string.
public class Model{
...
public string arr { get; set; }
...
}
- コントローラーで-> IListオブジェクトを作成し、アイテムで埋めます。
- コントローラーで->リストオブジェクトをシリアル化し、Modelクラスの「arr」プロパティに入れます。
- ビュー select2({ ... data: { results: eval('(@Html.Raw(Model.arr))') } ... })