unable to cast type System.Web.UI.Control to System.Web.UI.WebControls.Label and object set to null

unable to cast type System.Web.UI.Control to System.Web.UI.WebControls.Label and object set to null

am 23.04.2008 17:51:44 von Andy B

I have the following listView control on a page:

ItemPlaceholderID="PlaceHolder1">





























The code behind for the page that it is on is below. I am trying to get the
text for the key and value pair into the labels above. I get 2 different
errors depending on what I use in the code behind. There will be comments
where required.

namespace Contracts {

public partial class _Default : System.Web.UI.Page {

//create a contract for use in the page.

Contract StockContract = new Contract();

protected void Page_Load(object sender, EventArgs e) {

//create a ContractDictionary and assign it to the Dictionary property.

StockContract.Dictionary = new ContractDictionary();



//add an entry to the dictionary

StockContract.Dictionary.Add("Word", "Just testing here...");



//dataBind the listview control where the entries from the dictionary will
be seen to the Dictionary

ListView1.DataSource = StockContract.Dictionary;

ListView1.DataBind();

//these next 2 lines cause a 'unable to cast type System.Web.UI.Control to
System.Web.UI.WebControls.Label error.

//Label WordLabel = (Label)ListView1.Controls[0];

//Label DefinitionLabel = (Label)ListView1.Controls[1];



//these next 2 lines cause an 'Object set to null reference' error.

//Label WordLabel = (Label)ListView1.FindControl("Label1");

//Label DefinitionLabel = (Label)ListView1.FindControl("Label2");



//cycle through the key/value pair and give the values to the Labels inside
the ListView1.

foreach(KeyValuePair values in StockContract.Dictionary) {

WordLabel.Text = values.Key;

DefinitionLabel.Text = values.Value;

}

}

}

}



Any ideas how to fix this?

RE: unable to cast type System.Web.UI.Control to System.Web.UI.WebCont

am 23.04.2008 18:47:00 von brucebarker

you labels are not direct children of the listview. they are children of the
template that is a child of the listview. you need to do a recursive search
for the labels.

-- bruce (sqlwork.com)


"Andy B" wrote:

> I have the following listView control on a page:
>
> > ItemPlaceholderID="PlaceHolder1">
>
>
>
>


>
>

>
>
>
>

>
>

>
>
>
>

>
>

>
>
>
>
>
>
>
>

>
>
>
> The code behind for the page that it is on is below. I am trying to get the
> text for the key and value pair into the labels above. I get 2 different
> errors depending on what I use in the code behind. There will be comments
> where required.
>
> namespace Contracts {
>
> public partial class _Default : System.Web.UI.Page {
>
> //create a contract for use in the page.
>
> Contract StockContract = new Contract();
>
> protected void Page_Load(object sender, EventArgs e) {
>
> //create a ContractDictionary and assign it to the Dictionary property.
>
> StockContract.Dictionary = new ContractDictionary();
>
>
>
> //add an entry to the dictionary
>
> StockContract.Dictionary.Add("Word", "Just testing here...");
>
>
>
> //dataBind the listview control where the entries from the dictionary will
> be seen to the Dictionary
>
> ListView1.DataSource = StockContract.Dictionary;
>
> ListView1.DataBind();
>
> //these next 2 lines cause a 'unable to cast type System.Web.UI.Control to
> System.Web.UI.WebControls.Label error.
>
> //Label WordLabel = (Label)ListView1.Controls[0];
>
> //Label DefinitionLabel = (Label)ListView1.Controls[1];
>
>
>
> //these next 2 lines cause an 'Object set to null reference' error.
>
> //Label WordLabel = (Label)ListView1.FindControl("Label1");
>
> //Label DefinitionLabel = (Label)ListView1.FindControl("Label2");
>
>
>
> //cycle through the key/value pair and give the values to the Labels inside
> the ListView1.
>
> foreach(KeyValuePair values in StockContract.Dictionary) {
>
> WordLabel.Text = values.Key;
>
> DefinitionLabel.Text = values.Value;
>
> }
>
> }
>
> }
>
> }
>
>
>
> Any ideas how to fix this?
>
>
>
>
>
>
>

Re: unable to cast type System.Web.UI.Control to System.Web.UI.WebCont

am 23.04.2008 18:56:59 von Andy B

How do you do this?


"bruce barker" wrote in message
news:EFC3C4FB-F431-43BB-A0EA-33C6F2688A99@microsoft.com...
> you labels are not direct children of the listview. they are children of
> the
> template that is a child of the listview. you need to do a recursive
> search
> for the labels.
>
> -- bruce (sqlwork.com)
>
>
> "Andy B" wrote:
>
>> I have the following listView control on a page:
>>
>> >> ItemPlaceholderID="PlaceHolder1">
>>
>>
>>
>>


>>
>>

>>
>>
>>
>>

>>
>>

>>
>>
>>
>>

>>
>>

>>
>>
>>
>>
>>
>>
>>
>>

>>
>>
>>
>> The code behind for the page that it is on is below. I am trying to get
>> the
>> text for the key and value pair into the labels above. I get 2 different
>> errors depending on what I use in the code behind. There will be comments
>> where required.
>>
>> namespace Contracts {
>>
>> public partial class _Default : System.Web.UI.Page {
>>
>> //create a contract for use in the page.
>>
>> Contract StockContract = new Contract();
>>
>> protected void Page_Load(object sender, EventArgs e) {
>>
>> //create a ContractDictionary and assign it to the Dictionary property.
>>
>> StockContract.Dictionary = new ContractDictionary();
>>
>>
>>
>> //add an entry to the dictionary
>>
>> StockContract.Dictionary.Add("Word", "Just testing here...");
>>
>>
>>
>> //dataBind the listview control where the entries from the dictionary
>> will
>> be seen to the Dictionary
>>
>> ListView1.DataSource = StockContract.Dictionary;
>>
>> ListView1.DataBind();
>>
>> //these next 2 lines cause a 'unable to cast type System.Web.UI.Control
>> to
>> System.Web.UI.WebControls.Label error.
>>
>> //Label WordLabel = (Label)ListView1.Controls[0];
>>
>> //Label DefinitionLabel = (Label)ListView1.Controls[1];
>>
>>
>>
>> //these next 2 lines cause an 'Object set to null reference' error.
>>
>> //Label WordLabel = (Label)ListView1.FindControl("Label1");
>>
>> //Label DefinitionLabel = (Label)ListView1.FindControl("Label2");
>>
>>
>>
>> //cycle through the key/value pair and give the values to the Labels
>> inside
>> the ListView1.
>>
>> foreach(KeyValuePair values in StockContract.Dictionary)
>> {
>>
>> WordLabel.Text = values.Key;
>>
>> DefinitionLabel.Text = values.Value;
>>
>> }
>>
>> }
>>
>> }
>>
>> }
>>
>>
>>
>> Any ideas how to fix this?
>>
>>
>>
>>
>>
>>
>>