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 關注
- 139 瀏覽
添加回答
舉報