对象参考?? [英] Object reference??

查看:69
本文介绍了对象参考??的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将DataItem中的值分配给变量,但保持获取

对象引用未设置为对象的实例错误消息。


我缺少什么?


public void create_ddl(object s,RepeaterItemEventArgs e)

{$ / $

string categoryName =

((DataRowView)e.Item.DataItem).Row [" FaultDesc"]。ToString();


if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==

ListItemType.AlternatingItem)

{$ / $

DropDownList dd =(DropDownList)e.Item.FindControl(" ddl");


if(dd!= null)

{

dd.DataSource = bs.drPriority();

dd.DataTextField =" text";

dd.DataValueField =" value";

dd.DataBind();

dd.Items.FindByValue(dr [" Priority"]。ToString() )。选择

=真;


}


}

}

解决方案

huzz写道:

我试图将DataItem中的值赋给var但是要保持获得对象引用未设置为对象的实例错误
消息。

我错过了什么?

public void create_ddl(object s,RepeaterItemEventArgs e)


> string categoryName =
((DataRowView)e.Item.DataItem).Row [" FaultDesc"]。ToString();

if(e.Item.ItemType == ListItemType。项目||
e.Item.ItemType == ListItemType.AlternatingItem)
{/>
DropDownList dd =
(DropDownList)e.Item.FindControl(" ddl" ;);

if(dd!= null)
{
dd.DataSource = bs.drPriority();


什么是bs ??

dd.DataTextField =" text";
dd.DataValueField =" value";
dd.DataBind();

dd.Items.FindByValue(dr [" Priority"]。ToString())。Selected = true;

}

}
}




如果你指定错误行,这会有所帮助。


Hans Kesting

你好Hans


这是行号:

第57行:string categoryName =

((DataRowView) e.Item.DataItem).Row [" FaultDesc"]。ToString();

" Hans Kesting"写道:

huzz写道:

我试图将一个值从DataItem分配给一个变量,但保持
得到对象引用未设置为对象的实例错误
消息。

我错过了什么?

public void create_ddl(object s,RepeaterItemEventArgs e)


> string categoryName =
((DataRowView)e.Item.DataItem).Row [" FaultDesc"]。ToString();

if(e.Item.ItemType == ListItemType。项目||
e.Item.ItemType == ListItemType.AlternatingItem)
{/>
DropDownList dd =
(DropDownList)e.Item.FindControl(" ddl" ;);

if(dd!= null)
{
dd.DataSource = bs.drPriority();



什么是bs是??

dd.DataTextField =" text";
dd.DataValueField =" value";
dd.DataBind();

dd.Items.FindByValue(dr [" Priority"]。ToString())。Selected = true;

}

}
}



如果你指定错误所在的行会有所帮助。

Hans Kesting



e.Item.DataItem为null。问题是你在获得categoryName之后检查ItemType是否为
。但是,如果您在headerTemplate或

footerTemplate中,则e.Item.DataItem将为null。只需将代码移到

if语句中:


if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==

ListItemType.AlternatingItem){

string categoryName =

((DataRowView)e.Item.DataItem).Row [" FaultDesc"] .ToString();

...

}


应该工作


Karl

-

我的ASP.Net教程
http://www.openmymind.net/

" huzz" <胡** @ discussions.microsoft.com>在消息中写道

新闻:B4 ********************************** @ microsof t.com ...

嗨汉斯

这里是行号:
第57行:string categoryName =
((DataRowView)e。 Item.DataItem).Row [" FaultDesc"]。ToString();

" Hans Kesting"写道:

huzz写道:

我试图将一个值从DataItem分配给一个变量,但保持
得到对象引用未设置为对象的实例错误
消息。

我错过了什么?

public void create_ddl(object s,RepeaterItemEventArgs e)


> string categoryName =
((DataRowView)e.Item.DataItem).Row [" FaultDesc"]。ToString();

if(e.Item.ItemType == ListItemType。项目||
e.Item.ItemType == ListItemType.AlternatingItem)
{/>
DropDownList dd =
(DropDownList)e.Item.FindControl(" ddl" ;);

if(dd!= null)
{
dd.DataSource = bs.drPriority();



什么是bs是??

dd.DataTextField =" text";
dd.DataValueField =" value";
dd.DataBind();

dd.Items.FindByValue(dr [" Priority"]。ToString())。Selected = true;

}

}
}



如果你指定错误所在的行会有所帮助。

Hans Kesting


I am trying to assign a value from DataItem to a variable but keeping getting "
Object reference not set to an instance of an object" error message.

what i am missing?

public void create_ddl(object s, RepeaterItemEventArgs e)
{

string categoryName =
((DataRowView)e.Item.DataItem).Row["FaultDesc"].ToString();

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==
ListItemType.AlternatingItem)
{

DropDownList dd = (DropDownList)e.Item.FindControl("ddl");

if(dd !=null)
{
dd.DataSource = bs.drPriority();
dd.DataTextField = "text";
dd.DataValueField = "value";
dd.DataBind();
dd.Items.FindByValue(dr["Priority"].ToString()).Selected
= true;

}

}
}

解决方案

huzz wrote:

I am trying to assign a value from DataItem to a variable but keeping
getting " Object reference not set to an instance of an object" error
message.

what i am missing?

public void create_ddl(object s, RepeaterItemEventArgs e)
{

string categoryName =
((DataRowView)e.Item.DataItem).Row["FaultDesc"].ToString();

if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{

DropDownList dd =
(DropDownList)e.Item.FindControl("ddl");

if(dd !=null)
{
dd.DataSource = bs.drPriority();
What is "bs" ??
dd.DataTextField = "text";
dd.DataValueField = "value";
dd.DataBind();

dd.Items.FindByValue(dr["Priority"].ToString()).Selected = true;

}

}
}



It would help if you specify the line the error is in.

Hans Kesting


Hi Hans

Here is the line no:
Line 57: string categoryName =
((DataRowView)e.Item.DataItem).Row["FaultDesc"].ToString();
"Hans Kesting" wrote:

huzz wrote:

I am trying to assign a value from DataItem to a variable but keeping
getting " Object reference not set to an instance of an object" error
message.

what i am missing?

public void create_ddl(object s, RepeaterItemEventArgs e)
{

string categoryName =
((DataRowView)e.Item.DataItem).Row["FaultDesc"].ToString();

if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{

DropDownList dd =
(DropDownList)e.Item.FindControl("ddl");

if(dd !=null)
{
dd.DataSource = bs.drPriority();



What is "bs" ??

dd.DataTextField = "text";
dd.DataValueField = "value";
dd.DataBind();

dd.Items.FindByValue(dr["Priority"].ToString()).Selected = true;

}

}
}



It would help if you specify the line the error is in.

Hans Kesting



e.Item.DataItem is null. The problem is you are checking for ItemType after
getting the categoryName. However, if you are in a headerTemplate or a
footerTemplate, e.Item.DataItem will be null. Simply move that code inside
your if statement:

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==
ListItemType.AlternatingItem){
string categoryName =
((DataRowView)e.Item.DataItem).Row["FaultDesc"].ToString();
...
}

should work

Karl
--
MY ASP.Net tutorials
http://www.openmymind.net/
"huzz" <hu**@discussions.microsoft.com> wrote in message
news:B4**********************************@microsof t.com...

Hi Hans

Here is the line no:
Line 57: string categoryName =
((DataRowView)e.Item.DataItem).Row["FaultDesc"].ToString();
"Hans Kesting" wrote:

huzz wrote:

I am trying to assign a value from DataItem to a variable but keeping
getting " Object reference not set to an instance of an object" error
message.

what i am missing?

public void create_ddl(object s, RepeaterItemEventArgs e)
{

string categoryName =
((DataRowView)e.Item.DataItem).Row["FaultDesc"].ToString();

if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{

DropDownList dd =
(DropDownList)e.Item.FindControl("ddl");

if(dd !=null)
{
dd.DataSource = bs.drPriority();



What is "bs" ??

dd.DataTextField = "text";
dd.DataValueField = "value";
dd.DataBind();

dd.Items.FindByValue(dr["Priority"].ToString()).Selected = true;

}

}
}



It would help if you specify the line the error is in.

Hans Kesting



这篇关于对象参考??的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆