我有一个下拉列表,其中包含类别列表和用于刷新下拉列表项目的链接。
@Html.DropDownList("CategoryNameItemNameBinding", Model.CatgegoryNameItems)
<a href="javascript:void(0)" id="opener" onclick="openDialog('Category',this)">Refresh Category List</a> </span>
该链接会打开一个带有按钮的小弹出窗口,单击该按钮时,下拉列表绑定(bind)到的数据库表会更新。
问题是,尽管数据库表已更新,但下拉列表不会显示新项目,直到手动刷新页面或我导航离开并返回页面。
我不想刷新/重新加载整个页面。如何刷新下拉列表以反射(reflect)新项目。
谢谢
最佳答案
您的 Ajax 调用将是
$("#linkId").on('click', function (event) {
var url = "GetList";
$.ajax({
data: {},
type: 'POST',
cache: false,
dataType: 'json',
url: url,
success: function (result) {
$("#dropDownId").empty();
$("#dropDownId").append('<option value="">Select One</option>');
$.each(result, function (i, item) {
$("#AddItemItemId").append('<option value="' + item.Value + '">' +
item.Text + '</option>');
// here we are adding option for States
});
},
error: function (ex) {
alertify.alert('We face some technical difficulties. Hello World');
}
});
event.preventDefault(event);
});
后端 C# 代码会喜欢
[HttpPost]
public JsonResult GetList()
{
var itemlist = _itemManager.GetItems();
var itemList = itemlist.Select(item => new SelectListItem { Text = item.ItemName+" - "+item.PowerName, Value = Convert.ToString(item.Id) }).ToList();
return Json(new SelectList(itemList, "Value", "Text"));
}
希望这对您有帮助。快乐编码
关于asp.net - 刷新/重新绑定(bind)一个下拉列表 asp.net MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36676811/