强类型数据控件会引发编译错误:名称'项目'不存在

时间:2016-11-22 16:58:26

标签: asp.net telerik-grid

在Visual Studio 2015中,我尝试使用强类型RadGrid,如ASP.NETTelerik文档中所述,但没有成功。

当我尝试运行以下页面时,出现编译错误:

CS0103: The name 'Item' does not exist in the current context

WebForm1.aspx的

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebAppNamespace.WebForm1" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>

<telerik:RadGrid runat="server"
    ItemType="ModelNamespace.SomeEntity"
    SelectMethod="GetTheStuff"
    AutoGenerateColumns="false">
    <MasterTableView>
        <Columns>

            <telerik:GridTemplateColumn>
                <ItemTemplate>
                    <%# Item.SomeProperty%>
                </ItemTemplate>
            </telerik:GridTemplateColumn>

        </Columns>
    </MasterTableView>
</telerik:RadGrid>

WebForm1.aspx.cs中

using ModelNamespace;
using System.Linq;
using System.Web.UI;

namespace WebAppNamespace
{
    public partial class WebForm1 : Page
    {
        SomeContext db = new SomeContext();
        public IQueryable<SomeEntity> GetTheStuff()
        {
            return db.SomeEntity;
        }
    }
}

Visual Studio中的代码完成也不起作用。

当我在文档中描述的RadGrid控件中使用Item属性时,Shoudn&#t; t ItemType可用?我错过了什么?

1 个答案:

答案 0 :(得分:1)

要使Item对象在绑定表达式中可用,必须在ItemType元素上指定MasterTableView属性,即:

<telerik:RadGrid runat="server"
    SelectMethod="GetTheStuff"
    AutoGenerateColumns="false">
    <MasterTableView ItemType="ModelNamespace.SomeEntity">
        <Columns>
        ...