DataList værdier vises ikke
HejsaJeg har en Dataliste på en side, som jeg gerne vil have viser nogle felter fra databasen (viser en "kundes" oprigninger - tabellen kaldes Calls i databasen) Når jeg forsøger med nedennævnte kode, får jeg ikke nogen fejl men den skriver ikke det korrekte ud - istedet skriver den selve koden, når jeg loader siden:
Fejludskrift:
DataBinder.Eval(Container, "DataItem.CallDate", "{0:d}") DataBinder:Eval(Container, "DataItem.CallTime", "{0:t}")
Subject: DataBinder.Eval(Container, "DataItem.Subject")
Notes: DataBinder.Eval(Container, "DataItem.Notes")
DOG skal det tilføjes - at jeg får følgende fejl, når jeg forsøger at trykke på "View Call":
Object reference not set to an instance of an object.
Line 106: {
Line 107: //Set the filter for the view to display
Line 108: dsCalls.Tables["Calls"].DefaultView.RowFilter = "ContactID=" + drpContacts.SelectedItem.Value.ToString();
Koden i aspx for selve DataListen ser ud på følgende måde:
<asp:DataList id=dlstCalls runat="server" DataSource='<%# dsCalls.Tables["Calls"].DefaultView %>'>
<HeaderTemplate>
<P>Calls</P>
<hr>
</HeaderTemplate>
<FooterTemplate>
<hr>
</FooterTemplate>
<ItemTemplate>
<P>
<asp:Label id="lblDate" runat="server" Width="250px" Height="31px">DataBinder.Eval(Container, "DataItem.CallDate", "{0:d}")</asp:Label>
<asp:Label id="lblTime" runat="server" Width="232px" Height="11px">DataBinder:Eval(Container, "DataItem.CallTime", "{0:t}")</asp:Label></P>
<P style="FONT-STYLE: italic">Subject:
<asp:Label id="lblSubject" runat="server">DataBinder.Eval(Container, "DataItem.Subject")</asp:Label></P>
<P style="FONT-STYLE: italic">Notes:
<asp:Label id="lblNotes" runat="server">DataBinder.Eval(Container, "DataItem.Notes")</asp:Label></P>
</ItemTemplate>
<SeparatorTemplate>
<hr>
</SeparatorTemplate>
</asp:DataList>
Koden i aspx.cs er følgende:
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
//Dette henter referencerne til komponenterne fra Cachen af
//og gør dem tilgængelig her på formen
//Get cached variables
adptCalls = (SqlDataAdapter) Cache["adptCalls"];
dsCalls = (dsCalls) Cache["dsCalls"];
dsContacts = (dsContacts) Cache["dsContacts"];
//Run the first time page is displayed
if (!IsPostBack)
{
//for each row in the table
foreach (dsContacts.ContactsRow rowNext in dsContacts.Contacts)
{
//Create a new list item
ListItem lstNew = new ListItem();
lstNew.Text = rowNext.FirstName + " " + rowNext.LastName;
lstNew.Value = rowNext.ContactID.ToString();
//Add the list item to the drop-down list
drpContacts.Items.Add(lstNew);
}
//Select the first item in the list
drpContacts.SelectedIndex = 0;
}
}
private void butView_Click(object sender, System.EventArgs e)
{
//Set the filter for the view to display
dsCalls.Tables["Calls"].DefaultView.RowFilter = "ContactID=" + drpContacts.SelectedItem.Value.ToString();
//Bind to the DataList control
dlstCalls.DataBind();
}
Håber nogen kan hjælpe mig :-)
mvh
simsen
