我有一个像这样的简单网格视图:
<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>
现在我想在我的边界Activity date
使用jquery.timeago plugin。如何使用如下脚本访问绑定字段:
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('gv_userActivities.timeago').timeago();
});
</script>
答案 0 :(得分: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>