我想让用户选择将项目添加到下拉列表中。我尝试过实施几种不同的解决方案,但无法将添加的项目显示在列表中。
目前,我正在将该项添加到表中,然后调用HttpGet方法来重新创建选择列表。创建正确的SelectList并将其发送到View。
控制器:
Names= db.Contacts.ToList()
查看:
@Html.DropDownListFor(m => m.Contact.ContactID,new SelectList(Model.Names.ToList(), "ContactID", "Name"), "")
正确的SelectList正从Controller传递到View(即添加的项目包含在列表中),当我单步执行代码时,View包含正确的列表。 但是,View不会被重新渲染。
非常感谢有关此问题的任何帮助!
答案 0 :(得分:1)
您可以使用JQuery在SelectList中插入一个项目,以避免重新呈现视图。然后用JavaScript编写逻辑,其方法类似于以下方法:
假设您的SelectList标识为selectList
$('#selectList').append('<option value=' + value +'>'+caption+'</option>');
当然,这只关注视图,能够传递一个新值,其标题在SelectList中。它不会在DB,服务器端添加Name。