小编Whi*_*450的帖子

在MVC 4中填写数据库中的Select2下拉框

我需要帮助编写jquery/ajax来填充Select2下拉框.

对于那些不知道Select2是什么的人来说,它是一个javascript扩展,为html选择列表下拉框提供Twitter Bootstrap外观和搜索/预先输入功能.有关更多信息,请查看此处的示例:Select2 Github页面


更新 - 解决了!


所以我最终将这些全部放在一起,我的问题的解决方案是我缺少格式化结果和列表选择的函数.下面的代码生成了一个功能齐全的Select2保管箱,其前提是完美的.

控制器上的Json方法:

public JsonResult FetchItems(string query)
{
    DatabaseContext dbContext = new DatabaseContext(); //init dbContext
    List<Item> itemsList = dbContext.Items.ToList(); //fetch list of items from db table
    List<Item> resultsList = new List<Item>; //create empty results list
    foreach(var item in itemsList)
    {   
        //if any item contains the query string
        if (item.ItemName.IndexOf(query, StringComparison.OrdinalIgnoreCase) >= 0) 
        {
            resultsList.Add(item); //then add item to the results list
        }
    }
    resultsList.Sort(delegate(Item c1, Item c2) …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery jquery-select2

9
推荐指数
1
解决办法
3万
查看次数

从非泛型类重写抽象泛型方法

基类

class Drawer
{
    public abstract void Draw<T>(T type);    
}
Run Code Online (Sandbox Code Playgroud)

派生类#1

class ADrawer : Drawer
{
    public override void Draw<T>(List<T> list)
    {
        foreach (var a in list)
        {
            DrawA(a);
        }
    }

    public void DrawA(Agent a)
    {
        //draw code here
    }
}
Run Code Online (Sandbox Code Playgroud)

派生类#2

class AnotherDrawer : Drawer
{
    public override void Draw<T>(T number)
    {
        if (number == 1)
        {
            //draw code
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

错误发生在#1派生类中:"找不到合适的方法来覆盖"

我应该在基类中使用'virtual'还是'abstract'?

如何设置基本参数类型以允许派生类中的各种参数?

c# generics overriding abstract

6
推荐指数
2
解决办法
2万
查看次数