ドロップダウンリストの値をコントローラーに渡して、値をペイコードのリストに追加しようとしていますが、「値を null にすることはできません」というメッセージが引き続き表示されます。エラー。ペイコード リストには多くの項目があります。ここで何がnullなのか間違っているのかわかりません...
内部例外
Value cannot be null.
Parameter name: source
見る
<!-- products input-->
<div class="control-group col-lg-6">
<label class="control-label">Product</label>
<div class="controls">
@using (Ajax.BeginForm("AddPayCode", "Referral",
new AjaxOptions()
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "PayCodes",
Url = Url.Action("AddPayCode", "Referral")
}))
{
@Html.ValidationSummary()
@Html.DropDownListFor(model => model.SelectedPayCode, new SelectList(Model.PayCodes.ToList(), "Id", "Description"), "- Select -")
<input type="submit" value="Add" />
}
</div>
</div>
コントローラ
[HttpPost]
public void AddPayCode(ReferralModel model)
{
var test = model.SelectedPayCode;
//TODO: Add to model.Referral.PayCodes list and return list of selected items
}
モデル
public class ReferralModel
{
public Customer Customer { get; set; }
public Employee Employee { get; set; }
public List<PayCode> PayCodes { get; set; }
public int SelectedPayCode { get; set; }
public Referral Referral { get; set; }
}
ドメイン オブジェクト
public class Referral
{
[Key]
public int Id { get; set; }
public int CustomerId { get; set; }
public int EmployeeId { get; set; }
public decimal Total { get; set; }
public virtual List<PayCode> PayCodes { get; set; }
public virtual Customer Customer { get; set; }
public virtual Employee Employee { get; set; }
}
目的 :
ユーザーはドロップダウンからペイコードを選択し、[追加] をクリックします
紹介PayCodesリストに追加されました
コントローラーは、選択されたペイコードのリストをビューに返します (まだ実装されていません)