首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

repeater里的取列值有关问题,代码如下

2012-02-12 
repeater里的取列值问题,代码如下?publicvoidR1_ItemDataBound(ObjectSender,RepeaterItemEventArgse){Dat

repeater里的取列值问题,代码如下?
public     void   R1_ItemDataBound(Object   Sender,   RepeaterItemEventArgs   e)  
{
DataRowView   item   =   e.Item.DataItem   as   DataRowView;

string   ReceiveUnitName   =item[ "ReceiveUnitName "].ToString();
Response.Write(ReceiveUnitName);
}

ReceiveUnitName是列名;
出现的异常是:System.NullReferenceException:   未将对象引用设置到对象的实例。
问题出在string   ReceiveUnitName=item[ "ReceiveUnitName "].ToString();
这一行?


[解决办法]
System.Web.UI.WebControls.RepeaterItem可以转换成System.Data.DataRowView吗?
我在MSDN中怎么没查到继承关系???

Repeater使用的是Template,item[ "ReceiveUnitName "]这种语法我想是不适用的。
[解决办法]
取什么值?

取服务器控件的值?用FindControl方法
[解决办法]
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataRowView thisRow = (DataRowView)e.Item.DataItem;
if (thisRow != null)
{

Label ip = (Label)e.Item.FindControl( "labelip ");
if (ip != null)
{
ip.Text = book.htmlEncode(Convert.ToString(thisRow[ "ask_type "]));
}
}
}

好象可以

热点排行