A
Andy B
I have the following listView control on a page:
<asp:ListView ID="ListView1" runat="server"
ItemPlaceholderID="PlaceHolder1">
<ItemTemplate>
<dl>
<dt>
<asp:Label ID="Label1" runat="server" Text='Eval("Keys")'></asp:Label>
</dt>
<dd>
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
</dd>
</dl>
</ItemTemplate>
<LayoutTemplate>
<asplaceHolder ID="PlaceHolder1" runat="server"></asplaceHolder>
</LayoutTemplate>
</asp:ListView>
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<string, string>();
//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<string, string> values in StockContract.Dictionary) {
WordLabel.Text = values.Key;
DefinitionLabel.Text = values.Value;
}
}
}
}
Any ideas how to fix this?
<asp:ListView ID="ListView1" runat="server"
ItemPlaceholderID="PlaceHolder1">
<ItemTemplate>
<dl>
<dt>
<asp:Label ID="Label1" runat="server" Text='Eval("Keys")'></asp:Label>
</dt>
<dd>
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
</dd>
</dl>
</ItemTemplate>
<LayoutTemplate>
<asplaceHolder ID="PlaceHolder1" runat="server"></asplaceHolder>
</LayoutTemplate>
</asp:ListView>
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<string, string>();
//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<string, string> values in StockContract.Dictionary) {
WordLabel.Text = values.Key;
DefinitionLabel.Text = values.Value;
}
}
}
}
Any ideas how to fix this?