2012-03-12 32 views
0

我有這樣一個簡單的網格視圖:如何在gridview中使用jquery.timeago插件和boundfield?

<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 plugin我綁定列Activity date。如何使用這樣的腳本訪問綁定字段:

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

回答

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

,謝謝,我不知道爲什麼這不是工作。 我的gridview綁定在下拉列表'selectedindexchanged' – 2012-03-12 13:53:58

+1

@just_name,你爲'​​'分配了一個'title'屬性,它包含ISO 8601編碼日期,這是timeago插件期望你做的事情嗎? – 2012-03-12 13:56:54

+0

我的日期時間顯示爲'12/03/2012 12:29:13م' – 2012-03-12 13:57:05

相關問題