簡體   English   中英

與 ASP.Net MVC 和 Kendo Grid 的數據綁定

[英]Data binding with ASP.Net MVC and Kendo Grid

我是使用 ASP.Net MVC 和 Kendo 控件的新手。

我看過這個演示頁面: Kendo Grid Binding to local data

似乎一點也不難,但我不知道我錯過了什么。

我從 function 獲取數據,該數據從 SurveyDataManager.cs 中的 SQL 數據庫中檢索。

public static List<SurveySummary> GetSurveySummary(int resourceTag)
    {
        List<SurveySummary> surveySummaryList = new List<SurveySummary>();

        try
        {
            using (ESSDataContext ess_context = new ESSDataContext())
            {
                var surveySummaryRec = ess_context.fn_ESS_SurveySummary(resourceTag).ToList();

                foreach (var item in surveySummaryRec)
                {
                    SurveySummary surveySummary = new SurveySummary()
                    {
                        SurveyID = item.SurveyHeaderID,
                        SurveyName = item.SurveyName,
                        SurveyInstructions = item.SurveyInstructions,
                        SurveyDescription = item.SurveyDescription,
                        Mandatory = item.Mandatory,
                        DueDate = item.DueDate,
                        Status = item.Status

                    };
                    surveySummaryList.Add(surveySummary);
                }                    
               
            }
        }
        catch (Exception e)
        {
            log.Error("Getting the survey summary failed for user with resource tag: " + resourceTag);
            Elmah.ErrorSignal.FromCurrentContext().Raise(e);
        }

        return surveySummaryList;

    }

這由 Controller(HomeController 的索引)調用:

 public ActionResult Index()
    {
        var surveySummary = SurveyDataManager.GetSurveySummary(User.GetResourceTag());
        return PartialView("~/Areas/Survey/Views/MySurveys.cshtml", surveySummary);         
    }

這是我的 MySurveys.cshtml 文件中的代碼:

@using Kendo.Mvc
@using Entities.Survey


@(Html.Kendo().Grid<SurveySummary>()
            .Name("grid")
            .Columns(columns =>
            {
                columns.Bound(p => p.SurveyName).Title("Survey Name").Width(100);
                columns.Bound(p => p.SurveyDescription).Title("Description").Width(150);
                columns.Bound(p => p.Originator).Title("Originator").Width(100);
                columns.Bound(p => p.DueDate).Title("Due Date").Width(125);
                columns.Bound(p => p.Status).Title("Status").Width(140);
            })
            .HtmlAttributes(new { style = "height: 550px;" })
            .Scrollable()
            .Groupable()
            .Sortable()
            .Pageable(pageable => pageable
                .Refresh(true)
                .PageSizes(true)
                .ButtonCount(5))
            .DataSource(dataSource => dataSource
                .Ajax()
                //.Read(read => read.Action("Index", "Home"))
                .PageSize(20)
            )
)

我得到一個空網格,列名(標題)正確,但沒有內容。 SurveySummaryList 肯定至少有一項,但它沒有顯示在網格中。

我究竟做錯了什么?

您是否嘗試@(Html.Kendo().Grid<SurveySummary>(Model)而不是@(Html.Kendo().Grid<SurveySummary>()

所以我意識到我正在發回一個列表,所以我需要將 cshtml 文件更改為:

@model IEnumerable<Symplexity.ESS.Entities.Survey.SurveySummary>


@(Html.Kendo().Grid(Model)
...

而不是我以前在原始帖子中看到的那樣。

暫無
暫無

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

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