在Visual Studio 2015中,我尝试使用强类型RadGrid,如ASP.NET和Telerik文档中所述,但没有成功。
当我尝试运行以下页面时,出现编译错误:
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
可用?我错过了什么?
答案 0 :(得分:1)
要使Item
对象在绑定表达式中可用,必须在ItemType
元素上指定MasterTableView
属性,即:
<telerik:RadGrid runat="server"
SelectMethod="GetTheStuff"
AutoGenerateColumns="false">
<MasterTableView ItemType="ModelNamespace.SomeEntity">
<Columns>
...