Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用ASP.NETMVC和剑道网格进行数据绑定_C#_Asp.net Mvc_Kendo Grid - Fatal编程技术网

C# 用ASP.NETMVC和剑道网格进行数据绑定

C# 用ASP.NETMVC和剑道网格进行数据绑定,c#,asp.net-mvc,kendo-grid,C#,Asp.net Mvc,Kendo Grid,我不熟悉ASP.NETMVC和剑道控件 我已经看过这个演示页面: 看起来一点也不难,但我不知道我错过了什么 我从一个函数获取数据,该函数从SurveyDataManager.cs中的SQL数据库检索数据 public static List<SurveySummary> GetSurveySummary(int resourceTag) { List<SurveySummary> surveySummaryList = new List<Su

我不熟悉ASP.NETMVC和剑道控件

我已经看过这个演示页面:

看起来一点也不难,但我不知道我错过了什么

我从一个函数获取数据,该函数从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;

    }
以下是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)
            )
)
@使用Kendo.Mvc
@使用实体。调查
@(Html.Kendo().Grid())
.名称(“网格”)
.列(列=>
{
columns.Bound(p=>p.SurveyName).Title(“调查名称”).Width(100);
columns.Bound(p=>p.SurveyDescription).Title(“Description”).Width(150);
列。绑定(p=>p.Originator)。标题(“Originator”)。宽度(100);
列。绑定(p=>p.DueDate)。标题(“到期日”)。宽度(125);
列.绑定(p=>p.Status).Title(“Status”).Width(140);
})
.HtmlAttributes(新的{style=“height:550px;”})
.Scrollable()
.Groupable()
.Sortable()
.Pageable(Pageable=>Pageable
.刷新(真)
.页面大小(真)
.按钮计数(5))
.DataSource(DataSource=>DataSource
.Ajax()
//.Read(Read=>Read.Action(“索引”、“主目录”))
.页面大小(20)
)
)
我得到一个空网格,有正确的列名(标题),但没有内容。SurveySummaryList中肯定至少有一项,但它没有显示在网格中


我做错了什么?

您是否尝试了
@(Html.Kendo().Grid(Model)
而不是
@(Html.Kendo().Grid()

所以我意识到我正在发回一个列表,所以我需要将cshtml文件更改为:

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


@(Html.Kendo().Grid(Model)
...
@model IEnumerable
@(Html.Kendo().Grid(模型)
...

与我之前所做的不同,正如在原始帖子中所看到的。

您使用过调试器吗?如果没有,为什么不使用?提示:
.DataSource(DataSource=>DataSource.Ajax()
-但是您没有使用AJAX。您需要传入局部视图自己的ViewModel或ViewData。是的,我使用了调试器,这就是我确保列表中有记录的方式。我不知道如何传入局部视图自己的ViewModel或ViewData。如果您知道指向一个好教程的链接,说明我应该做什么,我会非常感激如果我遵循以下步骤,则会出现错误:“无法从Entities.Survey.SurveySummary”转换为“System.Collections.Generic.IEnumerable”。
@model IEnumerable<Symplexity.ESS.Entities.Survey.SurveySummary>


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