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>

今、私は自分のバウンドフィールドでjquery.timeagoプラグインActivity dateを使用したいと思います。次のようなスクリプトを使用してバインドされたフィールドにアクセスする方法:

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

1 に答える 1

1

timeagoプラグインは、対応するDOM要素にtitle属性を適用することを想定しており、日付は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属性でISO8601日付を手動で作成する必要があります。

その後:

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