Asp.net mvc 3 使用KendoUI for MVC3将数据从数据库获取到组合框

Asp.net mvc 3 使用KendoUI for MVC3将数据从数据库获取到组合框,asp.net-mvc-3,visual-studio-2010,c#-4.0,kendo-ui,Asp.net Mvc 3,Visual Studio 2010,C# 4.0,Kendo Ui,我正在使用MVC3和KendoUI 我可以通过手动将值传递给combobox来检索数据,并且在执行时可以看到combobox中的值 这是通过手动传递值实现的 $("#input").kendoComboBox({ dataTextField: "text", dataValueField: "value", dataSource: [

我正在使用MVC3和KendoUI

我可以通过手动将值传递给combobox来检索数据,并且在执行时可以看到combobox中的值

这是通过手动传递值实现的

            $("#input").kendoComboBox({
                dataTextField: "text",
                dataValueField: "value",
                dataSource: [
                        { text: "Cotton", value: "1" },
                        { text: "Polyester", value: "2" },
                        { text: "Cotton/Polyester", value: "3" },
                        { text: "Rib Knit", value: "4" }
                    ],
                filter: "contains",
                suggest: true,
                index: 3
            });
现在我需要从SQLServer2008检索数据

说我的表名是Products


产品名称Yo mate

combobox的客户端配置应该与此非常相似。

e、 g

<script>
  jQuery("#products").kendoComboBox({
    "dataSource": {
        "transport": {
            "read": {
                "url": "/razor/web/Home/GetProducts",
                "data": function() {
                    return kendo.ui.ComboBox.requestData("#products");
                }
            }
        },
        "serverFiltering": true,
        "filter": [],
        "schema": {
            "errors": "Errors"
        }
    },
    "dataTextField": "ProductName",
    "dataValueField": "ProductID",
    "filter": "contains"
});​
</script>
public JsonResult GetProducts(string text)
    {
        var northwind = new NorthwindDataContext();


        var products = northwind.Products.Select(product => new ProductViewModel
        {
            ProductID = product.ProductID,
            ProductName = product.ProductName,
            UnitPrice = product.UnitPrice ?? 0,
            UnitsInStock = product.UnitsInStock ?? 0,
            UnitsOnOrder = product.UnitsOnOrder ?? 0,
            Discontinued = product.Discontinued
        });

        if (!string.IsNullOrEmpty(text))
        {
            products = products.Where(p => p.ProductName.Contains(text));
        }

        return Json(products, JsonRequestBehavior.AllowGet);
    }