I've tried various ways to get data value(s) from a DataList control (with same results for ListView and FormView). These are my attempts:
With result: Object reference not set to an instance of an object
I've also tried:
With result: "'Text' is not a member of System.Web.UI.W ebControls.List ViewItem"
Any ideas/suggestions?
This is the script:
Code:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim dli As DataListItem
For Each dli In DataList1.Items
Dim theValue As String = CType(DataList1.FindControl("AttendeeMailLabel"), Label).Text
MsgBox(theValue)
Next
End Sub
I've also tried:
Code:
Dim itemValue As String
Dim lvi As ListViewItem
For Each lvi In ListView1.Items
itemValue = lvi.Text
'also tried, with same result: itemValue = lvi.SubItems(0).Text
MsgBox(itemValue)
Next
End Sub
Any ideas/suggestions?
This is the script:
Code:
<form id="form1" runat="server">
<div>
</div>
<br />
<br />
<asp:ListView ID="ListView1" runat="server" DataKeyNames="AttendeeID"
DataSourceID="SqlDataSource1">
<ItemTemplate>
<tr style="">
<td>
<asp:Label ID="AttendeeEmailLabel" runat="server"
Text='<%# Eval("AttendeeEmail") %>' />
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr style="">
<td>
<asp:Label ID="AttendeeEmailLabel" runat="server"
Text='<%# Eval("AttendeeEmail") %>' />
</td>
</tr>
</AlternatingItemTemplate>
<EmptyDataTemplate> ... </EmptyDataTemplate>
<InsertItemTemplate> ... </InsertItemTemplate>
<LayoutTemplate> ... </LayoutTemplate>
<EditItemTemplate> ... </EditItemTemplate>
<SelectedItemTemplate>
<tr style="">
<td>
<asp:Label ID="AttendeeEmailLabel" runat="server"
Text='<%# Eval("AttendeeEmail") %>' />
</td>
</tr>
</SelectedItemTemplate>
</asp:ListView>
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ActivitiesConnectionString %>"
SelectCommand="SELECT [AttendeeEmail], [AttendeeID] FROM [Attendees] WHERE ([ActivityID] = @ActivityID)">
<SelectParameters>
<asp:Parameter DefaultValue="43" Name="ActivityID" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
</form>
Comment