Asp.net Telerik UI Radgrid强类型GridTemplateColumn问题

Asp.net Telerik UI Radgrid强类型GridTemplateColumn问题,asp.net,model-binding,telerik-grid,strong-typing,Asp.net,Model Binding,Telerik Grid,Strong Typing,我在Visual Studio 2015上使用Telerik在RadGrid中创建实体的简单列表。我没有得到任何编译错误或运行时错误。页面呈现,但缺少网格(除了网格所在的位置有一条细线,我没有看到任何列或数据等) 我用的是EF。这是我的实体: public class Event { public Event() { Comments = new List<Comment>(); } [ScaffoldColumn(false

我在Visual Studio 2015上使用Telerik在RadGrid中创建实体的简单列表。我没有得到任何编译错误或运行时错误。页面呈现,但缺少网格(除了网格所在的位置有一条细线,我没有看到任何列或数据等)

我用的是EF。这是我的实体:

    public class Event
{
    public Event()
    {
        Comments = new List<Comment>();
    }

    [ScaffoldColumn(false)]
    public int EventID { get; set; }

    [Required,MaxLength(50), Display(Name ="Event Name")]
    public string EventName { get; set; }

    [MaxLength(500)]
    public string EventDescription { get; set; }        


    public DateTime EventDate { get; set; }
    //public List<User> Attending { get; set; }   // might have to remove this:

    public ICollection<Comment> Comments { get; set; }

    public bool CommentLock { get; set; }   // A property to enable/stop users from commenting


    // set raltionships
    // FK to Venue
    public int VenueID { get; set; }

    //Nav properties:
    public Venue Venue { get; set; }

}
公共类事件
{
公共活动()
{
注释=新列表();
}
[脚手架立柱(假)]
public int EventID{get;set;}
[必需,最大长度(50),显示(Name=“事件名称”)]
公共字符串EventName{get;set;}
[最大长度(500)]
公共字符串EventDescription{get;set;}
公共日期时间事件日期{get;set;}
//参与{get;set;}//的公共列表可能必须删除以下内容:
公共ICollection注释{get;set;}
public bool CommentLock{get;set;}//用于启用/停止用户评论的属性
//建立关系
//FK至场馆
public int VenueID{get;set;}
//导航属性:
公共场所{get;set;}
}
我的webForm.aspx文件

    <%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="WebApp.Test" %>

<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">

    <br />
        <telerik:RadGrid
            ID="RadGrid1"
            runat="server"
            AutoGenerateColumns="False"
            SelectMethod="GetEvents" AllowPaging="True" AllowSorting="True" GridLines="None">

            <ClientSettings>
                <Selecting AllowRowSelect="True" />
            </ClientSettings>

            <MasterTableView ItemType="DomainModels.Event">
                <Columns>
                    <telerik:GridTemplateColumn HeaderText="Event ID Number:">
                        <ItemTemplate><%# Item.EventID %></ItemTemplate>
                    </telerik:GridTemplateColumn>

                    <telerik:GridTemplateColumn HeaderText="Event Name:">
                        <ItemTemplate><%# Item.EventName %></ItemTemplate>
                    </telerik:GridTemplateColumn>
                </Columns>
            </MasterTableView>

            <FilterMenu EnableTheming="True">
                <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation>
            </FilterMenu>

        </telerik:RadGrid>

</asp:Content>


我的代码隐藏在aspx.cs文件后面

using System;
using System.Linq;
using DomainModels;
using DataLayer;

namespace WebApp
{
    public partial class Test : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }


        public IQueryable<Event> GetEvents()
        {
            CoffeeEventsDBContext context = new CoffeeEventsDBContext();
            IQueryable<Event> returnSet = context.Events;
            return returnSet;
        }

    }
}
使用系统;
使用System.Linq;
使用领域模型;
使用数据层;
命名空间WebApp
{
公共部分类测试:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
}
公共IQueryable GetEvents()
{
CoffeeEventsDBContext上下文=新的CoffeeEventsDBContext();
IQueryable returnSet=context.Events;
返回集;
}
}
}
当我运行这个程序时,我得到的是页面,但不是网格,我看到一条细的水平线与网格的主题相匹配,但我没有看到任何列

我还在aspx文件的这一行上设置了一个断点:

<ItemTemplate><%# Item.EventID %></ItemTemplate>

但断点永远不会被击中


我做错了什么?谢谢你的帮助。WebFroms/Telerik的新功能。

您不需要使用模型绑定语法,RadGrid会通过绑定列自动执行此操作。首先,确保select方法实际返回了一些内容,然后对网格列尝试此方法

<MasterTableView>
                <Columns>
                    <telerik:GridBoundColumn DataField="EventID" HeaderText="Event ID Number" />
                    <telerik:GridBoundColumn DataField="EventName" HeaderText="Event Name:" />                        
                </Columns>
            </MasterTableView>