【发布时间】:2020-05-16 19:17:48
【问题描述】:
我的项目是带有 Razor 页面的 MVC.Net Core 项目。
我的 Dto 课程:
public class TicketDto
{
public Guid Id { get; set; }
public IList<KeyValuePair<int, string>> Areas { get; set; }
}
在视图中我使用@Html.ListBoxFor 创建选择列表
@Html.ListBoxFor(model => model.Areas, (MultiSelectList)ViewBag.AreaId, new { @class="custom-select", @id="inputGroupSelect01", size = 5 })
View也有ViewData/ViewBag:
ViewData["AreaId"] = new MultiSelectList(areaService.GetAreas().Select( a => new { a.Id, a.Name }), "Id", "Name");
Razor 渲染下一个:
<select class="custom-select" id="inputGroupSelect01" multiple="multiple" name="Areas" size="5"><option value="1">A</option>
<option value="2">P</option>
<option value="3">S</option>
<option value="10">AB</option>
<option value="11">AB</option>
</select>
Controler 将 TicketDto:
public IActionResult Create(TicketDto ticketDto)
当我选择多个项目和 POST 表单来控制 ticketDto.Areas 计数 = 0
我应该如何将带有 List 和 @Html.ListBoxFor 选项的模型类发布到我的控制器?
【问题讨论】:
标签: c# asp.net-mvc-4 razor .net-core dto