我有一個存儲在視圖模型中的電子郵件集合,我綁定到視圖中的ListBox。添加項目到asp.net mvc listbox客戶端?
@Html.TextBox("txtAddEmail") <img id="btnAddEmail">Add Email</img>
@Html.ListBox("Emails", Model.Emails)
@Html.ValidationMessageFor(m => m.Emails)
我希望讓用戶能夠將其輸入到txtAddEmail文本框中添加電子郵件,然後單擊添加圖像按鈕這將然後添加電子郵件客戶端上的列表框。然後,當表格發佈時,電子郵件收藏中會顯示新聞郵件。我有客戶端代碼工作,添加項目,但在郵件收集郵件不包含新的電子郵件。
var emailToAdd = $("#txtAddEmail").val();
$('#Emails').
append($("<option></option>").
attr("value", emailToAdd).
text(emailToAdd));
有關如何做到這一點的任何想法?
UPDATE
我可以用這個
@Html.ListBox("EmailAdded", Model.Emails)
電子郵件添加在客戶端上的EmailAdded字符串值顯示出來一個項目添加到視圖模型的值,但是怎麼辦我有它添加到集合?我決定嘗試直接綁定到電子郵件列表。添加到客戶端的列表框後,視圖模型不會顯示添加的電子郵件。有任何想法嗎?
@Html.ListBoxFor(model => model.Emails, new MultiSelectList(Model.Emails, "Id", "Address"));
@Html.ValidationMessageFor(m => m.Emails)
UPDATE
找到我一直在尋找here
如何創建一個隱藏的文本框,當你添加一個電子郵件列表框它也將被添加到隱藏的文本框,然後通過昏迷,如電子郵件1,電子郵件2,電子郵件4,....並且該集合將獲得隱藏文本字段中的所有電子郵件地址,並且可以爲每個電子郵件分割電子郵件字符串。 Collection只能從列表中獲取選定字段的值 –