我正在尝试将 Model.property 映射到 Select2 插件的数据,但没有成功,在控制台中不断收到“TypeError:invalid 'in'operand result”。
public class Items{
public int id;
public string text;
};
public class Model{
...
public Items[] arr { get; set; }
...
}
模型被传递给 Razor 局部视图,我的 jsScript 在那里发挥了一些作用
<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 对象并用项目填充它。
- 在控制器-> 序列化列表对象并将其放入模型类的“arr”属性中。
- 在视图中 select2({ ... data: { results: eval('(@Html.Raw(Model.arr))') } ... })