Получите значение данных от ListView ItemDataBound

SimpleDateFormat является способом пойти. Я могу указать, однако, что можно чувствовать себя вынужденными определить один экземпляр SimpleDateFormat и создать объекты Даты с помощью этого. Если Вы делаете, остерегаетесь, тот SimpleDateFormat не ориентирован на многопотоковое исполнение, и можно представлять себя некоторым потенциально твердым к отладке проблемам!

я рекомендовал бы пользоваться этой возможностью для рассмотрения Joda, который является намного лучшим продуманным (и ориентированный на многопотоковое исполнение) API. Это формирует основание JSR-310, который является новым предложенным API Даты Java.

я понимаю, что это - немного больше работы. Однако это, вероятно, стоит, учитывая, что необходимо осуществить рефакторинг код в данный момент.

14
задан Gavin 19 October 2009 в 12:46
поделиться

3 ответа

Я думаю, что вам нужен ListViewDataItem.DataItem

8
ответ дан 1 December 2019 в 12:13
поделиться

Используйте ListViewDataItem в событии ItemDataBound :

protected void yourListView_ItemDataBound(object sender, ListViewItemEventArgs e)
{
    ListViewDataItem dataItem = (ListViewDataItem)e.Item;

    if (e.Item.ItemType == ListViewItemType.DataItem)
    {
        YourDataSource yourDataSource= (YourDataSource )dataItem.DataItem;            

    }

}
15
ответ дан 1 December 2019 в 12:13
поделиться
<asp:ListView ID="ContactsListView" 
        DataSourceID="ContactsDataSource" 
        ConvertEmptyStringToNull="true"        
        OnItemDataBound="ContactsListView_ItemDataBound"
        runat="server">
        <LayoutTemplate>
          <table cellpadding="2" width="680px" border="0">
            <tr style="background-color: #ADD8E6" runat="server">
                <th runat="server">First Name</th>
                <th runat="server">Last Name</th>
                <th runat="server">E-mail Address</th>
            </tr>
            <tr runat="server" id="itemPlaceholder" />
          </table>
          <asp:DataPager runat="server" ID="PeopleDataPager" PageSize="12">
            <Fields>
              <asp:NumericPagerField ButtonCount="10" /> 
            </Fields>
          </asp:DataPager>
        </LayoutTemplate>
        <ItemTemplate>
          <tr style="background-color: #CAEEFF" runat="server">
            <td>
              <asp:Label ID="FirstNameLabel" runat="server" Text='<%#Eval("FirstName") %>' />
            </td>
            <td>
              <asp:Label ID="LastNameLabel" runat="server" Text='<%#Eval("LastName") %>' />
            </td>
            <td>
              <asp:Label ID="EmailAddressLabel" runat="server" Text='<%#Eval("EmailAddress") %>' />
            </td>
          </tr>
        </ItemTemplate>
      </asp:ListView>

Сторона сервера

protected void ContactsListView_ItemDataBound(object sender, ListViewItemEventArgs e)
      {
        if (e.Item.ItemType == ListViewItemType.DataItem)
        {
          // Display the e-mail address in italics.
          Label EmailAddressLabel = (Label)e.Item.FindControl("EmailAddressLabel");
          // EmailAddressLabel.Font.Italic = true;
          string valueoftheControl = EmailAddressLabel.Text;  
          /* you have to get the value like this. 
             If its a dropdown or any other use their 
             corresponding property to get the value.*/
        }
      }
-2
ответ дан 1 December 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: