0

我有一个像这样的简单网格视图:

   <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>

现在我想在我的 boundfield中使用jquery.timeago 插件Activity date。如何使用这样的脚本访问绑定字段:

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

1 回答 1

1

您需要使用模板字段,因为 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>

这显然假设activity_date数据源中的属性是 DateTime 实例。如果不是,ToString("o")格式将不起作用,您将不得不在 timeago 插件可以理解的 title 属性中手动构建 ISO 8601 日期。

接着:

<script type="text/javascript">
    jQuery(document).ready(function() {
        jQuery('.timeago').timeago();
    });
</script>
于 2012-03-12T13:50:38.287 回答