Как использовать плагин jquery.timeago вместе с boundfield в gridview? - PullRequest
0 голосов
/ 12 марта 2012

У меня есть простой вид сетки как это:

   <asp:GridView ID="gv_userActivities" runat="server" AutoGenerateColumns="False">
          <Columns>
            <asp:BoundField DataField="activity" HeaderText="Activity name" />
                <asp:BoundField DataField="activity_date" HeaderText="Activity date" />
            </Columns>
   </asp:GridView>

Теперь я хочу использовать плагин jquery.timeago с моим ограниченным полем Activity date. Как получить доступ к связанному полю, используя скрипт, как это:

<script type="text/javascript">
        jQuery(document).ready(function() {
            jQuery('gv_userActivities.timeago').timeago();
      });
</script>

1 Ответ

1 голос
/ 12 марта 2012

Вам необходимо использовать поле шаблона, потому что плагин timeago ожидает, что вы примените атрибут title к соответствующему элементу DOM, а дата должна быть в формате ISO 8601:

<asp:GridView ID="gv_userActivities" runat="server" AutoGenerateColumns="False">
    <Columns>
        <asp:BoundField DataField="activity" HeaderText="Activity name" />
        <asp:TemplateField HeaderText="Activity date">
            <ItemTemplate>
                <span class="timeago" title="<%# string.Format("{0:o}", Eval("activity_date")) %>">
                    <%# Eval("activity_date") %>
                </span>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

Это, очевидно, предполагает, что *Свойство 1004 * в вашем источнике данных является экземпляром DateTime.Если это не формат ToString("o"), он не будет работать, и вам придется вручную построить дату ISO 8601 в атрибуте title, который может понять плагин timeago.

, а затем:

<script type="text/javascript">
    jQuery(document).ready(function() {
        jQuery('.timeago').timeago();
    });
</script>
...