簡體   English   中英

ASP.NET MVC劍道網格

[英]ASP.NET MVC kendo grid

僅當我直接傳遞模型時,才能在網格中填充項目。 如果我嘗試獲取Json數據,我將無法獲取。

這是我的控制器:

namespace MVC_Test1.Controllers
{
    public class StudentsController : Controller
    {
        private ContosoUniversityEntities db = new ContosoUniversityEntities();

        public ActionResult Index()
        {
            db.Configuration.ProxyCreationEnabled = false;
            return View(db.students.ToList());
        }


        public ActionResult Read([DataSourceRequest] DataSourceRequest request)
        {
            using (var northwind = new ContosoUniversityEntities())
            {
                IQueryable<student> students = northwind.students;
                DataSourceResult result = students.ToDataSourceResult(request);

                return Json(result);
            }
        }
    }
}

如果我有此視圖,則網格可以工作並顯示所有項目:

@model MVC_Test1.Models.student

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

@*@(Html.Kendo().Grid(Model)
    .Name("grid")
    .DataSource(dataSource => dataSource
        .Ajax()
        .ServerOperation(false)
    )
    .Columns(columns =>
    {
        columns.Bound(p => p.FirstName);
        columns.Bound(p => p.LastName);
    })
)*@

但是,如果我嘗試從json讀取,它將不起作用。 它顯示一個空的網格。

@(Html.Kendo().Grid<MVC_Test1.Models.student>()
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.FirstName);
        columns.Bound(p => p.LastName);
    })
    .DataSource(dataSource => dataSource
        .Ajax()
        .Read(read => read.Action("Read", "Students"))
    )
)

我確定我做錯了什么,但我無法弄清楚。 感謝您的幫助。

我也看不到太多問題。 但是嘗試三件事,允許獲得。

return Json(result, JsonRequestBehavior.AllowGet);

其次,我認為這不是問題,但嘗試使用List而不是IQueryable。

最后,嘗試返回JsonResult而不是ActionResult

希望這可以幫助。

最終,在嘗試了所有步驟(感謝大家之后)之后,我開始了一個新的proyect並成功了。 我不知道出什么問題了,但是現在可以了。 謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM