微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP.NET List <SelectListItem>将null传递给控制器

如何解决ASP.NET List <SelectListItem>将null传递给控制器

我有一个带有单选按钮的表格。选择其中一个后,在[POST]方法中,“公司”列表计数仍为0。您知道导致问题的原因吗?

控制器:

    // GET: Commission/Create
    public ActionResult Create()
    {
        CommissionMVCCreateModel commission = new CommissionMVCCreateModel();

        List<CompanyMVCModel> companies = sqliteDataAccess.LoadCompanies();
        commission.Companies = companies.Select(x => new SelectListItem { Text = x.CompanyName,Value = x.Id.ToString() }).ToList();
        return View(commission);
    }

    // POST: Commission/Create
    [ValidateAntiForgeryToken]
    [HttpPost]
    public ActionResult Create(CommissionMVCCreateModel commissionModel)
    {
        try
        {
            if(ModelState.IsValid)
            {

            }

            // Todo: Add insert logic here

            return View();
        }
        catch
        {
            return View();
        }
    }

型号:

    public class CommissionMVCCreateModel
{
    public List<SelectListItem> Companies { get; set; } = new List<SelectListItem>();
...
...
}

查看:

<form>
...
...
    @Html.LabelFor(model => model.Companies,htmlAttributes: new { @class = "control-label" })
    <div class="btn-group-vertical">

      @foreach (var company in Model.Companies) 
      {

          <label class="btn btn-primary col-md-offset-2 col-md-5 ">
                                                                                        
              <input type="radio" name="company" id="@company.Value" value="@company.Value"/>
              @company.Text
                                               
          </label> 
      }
    </div>
...
...
</form>

在表格中,我也有部分内容用于创建新公司,并且其值已正确传递。我唯一的问题是与此SelectListItem。我也尝试使用SelectList,但是结果是一样的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。