2 回答
TA贡献1851条经验 获得超4个赞
在模型中Referral
,将 的类型更改ReferralConsultants
为ICollection<int>
(或任何类型Consultant.ID
),对于选择元素,只有值(ConsultantID
在本例中)包含在表单提交中。如果您在浏览器中检查视图的生成源,这一点就会变得很清楚。
TA贡献1817条经验 获得超6个赞
我最终解决了这个问题,执行以下操作:
我创建 MultiSelectList 项并将其发送到视图,如下所示。
ReferralsController.cs
var consultants = from c in _context.Consultant
select new
{
ConsultantID = c.ID,
c.FullName
};
ViewData["Consultants"] = new MultiSelectList(consultants, "ConsultantID", "FullName", referral.ReferralConsultants.Select(r => r.ConsultantID).ToArray());
return View(referral);
在视图中
<div class="form-group">
<label class="control-label d-inline">
Consultants
<select multiple name="selectedValues" class="form-control" asp-items="ViewBag.Consultants"></select>
</label>
</div>
当我提交表单时,这会将 selectedValues 发送到我的控制器。然后我只需要在编辑[帖子]中获取这些值并将它们保存在数据库中。
public async Task<IActionResult> Edit(int id, [Bind("ID,PatientID,RequesterID,DateIssued,DateRequested,Description,Type, Status")] Referral referral, string [] selectedValues)
- 2 回答
- 0 关注
- 92 浏览
添加回答
举报