在mvc的弹出窗口中的dropdownlist中加载数据

时间:2014-02-04 05:32:02

标签: jquery asp.net-mvc-4 modalpopup

我是asp.net mvc的新手 我可以在mvc中显示弹出窗口 http://www.dotnet-tricks.com/Tutorial/mvc/42R0171112-CRUD-Operations-using-jQuery-dialog-and-Entity-Framework---MVC-Razor.html

我可以在mvc中的下拉列表中加载数据 但是,我想在弹出窗口中存在的下拉列表中加载数据,以便如何做到这一点。

或者我必须在显示之前在下拉列表中加载数据,但这不是最佳方式,因为用户可能会显示或不显示弹出窗口。

请建议。

1 个答案:

答案 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);
}