我是asp.net mvc的新手 我可以在mvc中显示弹出窗口 http://www.dotnet-tricks.com/Tutorial/mvc/42R0171112-CRUD-Operations-using-jQuery-dialog-and-Entity-Framework---MVC-Razor.html
我可以在mvc中的下拉列表中加载数据 但是,我想在弹出窗口中存在的下拉列表中加载数据,以便如何做到这一点。
或者我必须在显示之前在下拉列表中加载数据,但这不是最佳方式,因为用户可能会显示或不显示弹出窗口。
请建议。
答案 0 :(得分:2)
function openPopUp()
{
// ur code to open the popup
LoadDropDownContent();
}
function LoadDropDownContent()
{
var url = $(this).data('url')// url of ur ActionResult;
var data = //Any data u want to pass on
//get the timestamp
var nocache = new Date().getTime();
//add the timestamp as a paramter to avoid caching
data['nocache'] = nocache;
$.getJSON(url, data, function (items) {
var ddl = $('#urdrpdownid');
ddl.empty();
ddl.append($('<option/>', { value: '', text: '--Selecteer--' }));
$.each(items, function (index, item) {
ddl.append($('<option/>', {
value: item.Value,
text: item.Text,
selected: item.Selected
}));
});
});
}
控制器中的代码
public ActionResult GetItems()
{
var dropdownitems = //ur BL/DAL function to retrieve the list of entity;
var items = dropdownitems.Select(s => new SelectListItem { Text = s.ColName, Value = s.ColName}).AsEnumerable();
return Json(items, JsonRequestBehavior.AllowGet);
}