页面代码:<asp:GridView ID="gv_LtxList_ZC" runat="server" Width="90%" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="Sm.Number" HeaderText="编码" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="Sm.xm" HeaderText="姓名" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="sm.xb" HeaderText="性别" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="sm.deptName" HeaderText="部门名称" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="dwName" HeaderText="单位名称" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:TemplateField HeaderText="还原">
<ItemTemplate>
<a href='#' onclick='return huanyun(<%#Eval("sm.id") %>)'>
<img src="../../images/export.gif" border=0px /></a>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="删除">
<ItemTemplate>
<a href='#' onclick=''>
<img src="../../images/delete.gif" border=0px /></a>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
</asp:GridView>
后台绑定代码: /// <summary>
/// 初始化
/// </summary>
private void InitLTX()
{
MemberDAL md = new MemberDAL();
//找到转出的
gv_LtxList_ZC.DataSource= md.findLtx("2");
gv_LtxList_ZC.DataBind();
}
md.findLtx("2")中的代码:
/// <summary>
/// 查找指定状态的离退休人员,0-表示未审核 1- 表示已通过审核 2- 已转出 3- 已删除
/// </summary>
/// <param name="p"></param>
/// <returns></returns>
public List<MemberInfo> findLtx(string state)
{
var member = from p in db.szb_member
join d in db.sys_dw on p.dwId equals d.id
where p.state.Equals(state)
select new MemberInfo
{
Sm = p,
DwName = d.dwName
}; return member.ToList();
}
MemberInfo 中的代码:/// <summary>
///MemberInfo 的摘要说明
/// </summary>
public class MemberInfo
{
public MemberInfo()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
private szb_member _sm; public szb_member Sm
{
get { return _sm; }
set { _sm = value; }
}
private string _dwName; public string DwName
{
get { return _dwName; }
set { _dwName = value; }
}}现在想绑定GridView,通过调试可以读取数据库数据,就是在绑定的时候提示错误:
在选定的数据源上未找到名为“Sm.Number”的字段或属性。使用RadControl 这样写就没有问题,GridView 如何实现呢?
<Columns>
<asp:BoundField DataField="Sm.Number" HeaderText="编码" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="Sm.xm" HeaderText="姓名" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="sm.xb" HeaderText="性别" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="sm.deptName" HeaderText="部门名称" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="dwName" HeaderText="单位名称" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:TemplateField HeaderText="还原">
<ItemTemplate>
<a href='#' onclick='return huanyun(<%#Eval("sm.id") %>)'>
<img src="../../images/export.gif" border=0px /></a>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="删除">
<ItemTemplate>
<a href='#' onclick=''>
<img src="../../images/delete.gif" border=0px /></a>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
</asp:GridView>
后台绑定代码: /// <summary>
/// 初始化
/// </summary>
private void InitLTX()
{
MemberDAL md = new MemberDAL();
//找到转出的
gv_LtxList_ZC.DataSource= md.findLtx("2");
gv_LtxList_ZC.DataBind();
}
md.findLtx("2")中的代码:
/// <summary>
/// 查找指定状态的离退休人员,0-表示未审核 1- 表示已通过审核 2- 已转出 3- 已删除
/// </summary>
/// <param name="p"></param>
/// <returns></returns>
public List<MemberInfo> findLtx(string state)
{
var member = from p in db.szb_member
join d in db.sys_dw on p.dwId equals d.id
where p.state.Equals(state)
select new MemberInfo
{
Sm = p,
DwName = d.dwName
}; return member.ToList();
}
MemberInfo 中的代码:/// <summary>
///MemberInfo 的摘要说明
/// </summary>
public class MemberInfo
{
public MemberInfo()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
private szb_member _sm; public szb_member Sm
{
get { return _sm; }
set { _sm = value; }
}
private string _dwName; public string DwName
{
get { return _dwName; }
set { _dwName = value; }
}}现在想绑定GridView,通过调试可以读取数据库数据,就是在绑定的时候提示错误:
在选定的数据源上未找到名为“Sm.Number”的字段或属性。使用RadControl 这样写就没有问题,GridView 如何实现呢?
你写Sm。Number 肯定找不到咧 MemberInfo 中根本没有这个字段还找个毛啊
按照你的思路,把所有的sm.都去了。但是还是提示:在选定的数据源上未找到名为“Number”的字段或属性。
<asp:GridView ID="gv_LtxList_ZC" runat="server" Width="90%" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="Number" HeaderText="编码" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="xm" HeaderText="姓名" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="xb" HeaderText="性别" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="deptName" HeaderText="部门名称" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="dwName" HeaderText="单位名称" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:TemplateField HeaderText="还原">
<ItemTemplate>
<a href='#' onclick='return huanyun(<%#Eval("id") %>)'>
<img src="../../images/export.gif" border=0px /></a>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="删除">
<ItemTemplate>
<a href='#' onclick=''>
<img src="../../images/delete.gif" border=0px /></a>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
</asp:GridView>
private szb_member _sm; public szb_member Sm
{
get { return _sm; }
set { _sm = value; }
}szb_member 对象在那,看看这个里面怎么定义的,Eval里面绑定的是: Sm下面定义的,也就是Sm.XXX
没想到CSDN的C# CODE高亮也支持LINQ...
LinQ自动生成的,下面是代码:应该没有写错的,就是Sm.Number [Column(Storage="_Number", DbType="NVarChar(20) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
public string Number
{
get
{
return this._Number;
}
set
{
if ((this._Number != value))
{
this.OnNumberChanging(value);
this.SendPropertyChanging();
this._Number = value;
this.SendPropertyChanged("Number");
this.OnNumberChanged();
}
}
}
{
实例化数据层;
mb. Sm=实例化数据层.读取number方法名(mb.number);
}放在你的读取方法后 试试看
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
放DataField里不行,把这列转换成模板,然后用Eval("Sm.Number")就可以了,这是为什么呢???
{
var member = from p in db.szb_member
join d in db.sys_dw on p.dwId equals d.id
where p.state.Equals(state)
select new MemberInfo
{
Sm = p,
DwName = d.dwName
}; return member.ToList(MemberInfo);
}在return后面的 ToList<>中,加上 models "MemberInfo"