ASP.NET: как установить данные ListView с помощью codebehind вместо использования функции Bind() в атрибуте Text?

Как установить данные ListView с помощью codebehind вместо использования функции Bind() в атрибуте Text?

Прямо сейчас я делаю следующее, но я хотел бы получить его и установить в коде позади. Я использую VB... Спасибо!

<asp:Label ID="Date" runat="server" Text='<%# Bind("Date") %>'></asp:Label>

Редактировать:

Извините, я связываю данные следующим образом с DataTable.

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

       If Not IsPostBack Then

            ListView.DataSource = MyDataTable
            ListView.DataBind()

       End If

End Sub

3 ответа

Решение

Используйте событие ItemDataBound.

Не видя ваш код, я могу сказать вам, что ListView имеет свойство DataSource, которое вы должны просто установить в своем коде загрузки (а затем выполнить DataBind()). Я знаю, что делал это раньше с помощью GridView.

На основании предоставленной вами информации это лучшее, что я могу вам дать. Возможно, вы захотите поместить этот фрагмент в событие PreRender для вашего ListView.

Label lblDate = (Label)ListView.FindControl("Date");

if(dataTable.Rows.Count > 0 && dataTables.Columns.Contains("Date"))
{
    DataRow row = dataTable.Rows[0];
    If(!DBNull.Equals(row["Date"])
    {
        lblDate.Text = row["Date"].ToString();
    }
}
Другие вопросы по тегам