如何将泛型绑定到GridView?

taz01 2010-10-12 10:21:59

public class Orders
{
private OrderInfo _orderinfo = null;
private CouponInfo _couponinfo = null;
private Logistics _logistics = null;
public Orders()
{
_orderinfo = new OrderInfo();
_couponinfo = new CouponInfo();
_logistics = new Logistics();
}
public Tuan.Model.OrderInfo OrderInfo
{
get { return _orderinfo; }
set { this._orderinfo = value; }
}
public Tuan.Model.CouponInfo CouponInfo
{
get { return _couponinfo; }
set { this._couponinfo = value; }
}
public Logistics Logistics
{
get { return _logistics; }
set { this._logistics = value; }
}
}


public class OrderInfo
{
public OrderInfo()
{}
#region Model
private int _orderid;
private int _userid;
private int _productid;
private string _productname;
private decimal? _price;
private int? _freight;
private int? _status;
private int? _token;
public int OrderID
{
set{ _orderid=value;}
get{return _orderid;}
}
/// <summary>
///
/// </summary>
public int UserID
{
set{ _userid=value;}
get{return _userid;}
}
/// <summary>
///
/// </summary>
public int ProductID
{
set{ _productid=value;}
get{return _productid;}
}

}


本来使用<%# (Eval("OrderInfo.ProductName")是可以的
但是这样
<asp:BoundField DataField="OrderInfo.OrderNum" HeaderText="订单号" />就不行,错在哪?
...全文
238 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2010-10-12
  • 打赏
  • 举报
回复
T t = e.Row.DataItem as T;
roedatabound中设置Text

孟子E章 2010-10-12
  • 打赏
  • 举报
回复
你可以采用模板列实现,或者在绑定事件里进行处理
孟子E章 2010-10-12
  • 打赏
  • 举报
回复
BoundField 不支持绑定对象+属性。需要自己扩展
pgameli 2010-10-12
  • 打赏
  • 举报
回复
在选定的数据源上未找到名为“OrderInfo.OrderNum”的字段或属性

你查查是否有这个字段或者大小写是否正确

如果绑定某个字段的话直接用<asp:BoundField DataField="字段名" HeaderText="" />就可以了
<%#Eval()%>就不用了

但是如果对该字段进行操作就必须用<%#Eval()%>如:
<asp:Button ID="btnEdit" runat="server" Text="修改" CommandName="edit" CommandArgument='<%#Eval("M_ID")%>' />
beyond_me21 2010-10-12
  • 打赏
  • 举报
回复
你给gridview指定数据源时是怎么写的?
taz01 2010-10-12
  • 打赏
  • 举报
回复
汗,急啊,在线等!
taz01 2010-10-12
  • 打赏
  • 举报
回复
是不是BoundField 不支持,还是绑定方式不对?
taz01 2010-10-12
  • 打赏
  • 举报
回复
当然有啊!上面我只是列出一部分的字段和属性!
lxwccxt 2010-10-12
  • 打赏
  • 举报
回复
我没看到你OrderInfo里面有OrderNum...啊
taz01 2010-10-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 chai1338 的回复:]
OrderNum
[/Quote]
直接使用OrderNum也不行
chai1338 2010-10-12
  • 打赏
  • 举报
回复
OrderNum
taz01 2010-10-12
  • 打赏
  • 举报
回复
在选定的数据源上未找到名为“OrderInfo.OrderNum”的字段或属性。
taz01 2010-10-12
  • 打赏
  • 举报
回复
OK了 不用设置字段 这样来:

<asp:BoundField HeaderText="订单号" />
e.Row.Cells[0].Text = order.OrderInfo.OrderNum;
string url="CouSel.aspx?c="+order.CouponInfo.CouponCode;
e.Row.Cells[8].Text = "<a target='_blank' href='" + url + "'>" + order.CouponInfo.CouponCode + "</a>";
雨网科技 2010-10-12
  • 打赏
  • 举报
回复
换个列类型就好了啊
若-相惜 2010-10-12
  • 打赏
  • 举报
回复
楼主 你要用模板列了
孟子E章 2010-10-12
  • 打赏
  • 举报
回复
<asp:BoundField DataField="OrderInfo.OrderNum"
这种方式目前不支持
taz01 2010-10-12
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 wuyq11 的回复:]
T t = e.Row.DataItem as T;
roedatabound中设置Text
[/Quote]

如何访问?
比如访问 <asp:BoundField DataField="OrderInfo.OrderNum" HeaderText="订单号" />

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧