2 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊
在模型中Referral
,將 的類型更改ReferralConsultants
為ICollection<int>
(或任何類型Consultant.ID
),對(duì)于選擇元素,只有值(ConsultantID
在本例中)包含在表單提交中。如果您在瀏覽器中檢查視圖的生成源,這一點(diǎn)就會(huì)變得很清楚。

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
我最終解決了這個(gè)問題,執(zhí)行以下操作:
我創(chuàng)建 MultiSelectList 項(xiàng)并將其發(fā)送到視圖,如下所示。
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>
當(dāng)我提交表單時(shí),這會(huì)將 selectedValues 發(fā)送到我的控制器。然后我只需要在編輯[帖子]中獲取這些值并將它們保存在數(shù)據(jù)庫(kù)中。
public async Task<IActionResult> Edit(int id, [Bind("ID,PatientID,RequesterID,DateIssued,DateRequested,Description,Type, Status")] Referral referral, string [] selectedValues)
- 2 回答
- 0 關(guān)注
- 157 瀏覽
添加回答
舉報(bào)