You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jQuery Select2多选提交时ViewModel中List属性返回null问题求助

问题根因

你的<select>标签手动指定了错误的name="itemss"属性,覆盖了asp-for="Items"自动生成的name="Items"属性。表单提交时会将多选值提交到名为itemss的字段,而模型绑定只会读取名为Items的字段给ViewModel的Items属性,因此该属性始终为null。

修复方案

直接删除<select>标签里多余的name="itemss"属性即可,修改后的下拉选框代码如下:

<select asp-for="Items" class="itemSelect form-control" multiple asp-items="ViewBag.ItemId">
    <option value="Select Items(s) To Checkout" disabled></option>
</select>

补充优化建议

  1. 给CheckOutItemVM类添加构造函数,初始化Items属性,避免未选择任何物品时属性为null引发后续空引用异常:
public CheckOutItemVM()
{
    Items = new List<string>();
}
  1. 确认数据库Item表的ItemID字段类型和List<string>匹配,若ItemID是int类型,可将VM的Items属性改为List<int>,类型完全一致可以减少模型绑定的潜在问题。

内容的提问来源于stack exchange,提问作者Ady

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 01:24:03