我已阅读Stack Overflow问题 How to bind a List to a gridview? 。
但是我需要绑定一个List< DateTime>到gridview,但主要我还希望能够从ItemTemplate中访问DateTime值。我怎么做?当我使用DataTable时,我曾经这样做过:
<%# Eval("SDIndex") %>
如何将其直接链接到List&lt; DateTime&gt;?
答案 0 :(得分:4)
您可以尝试以下方法:
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Linq" %>
<script type="text/C#" runat="server">
protected void Page_Load(object sender, EventArgs e)
{
var dates = Enumerable.Range(1, 20).Select(x => new DateTime(2011, 4, x)).ToList();
grd.DataSource = dates;
grd.DataBind();
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="Form1" runat="server">
<asp:GridView ID="grd" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<%# ((DateTime)GetDataItem()).ToString("dd/MM/yyyy") %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</form>
</body>
</html>
这也应该有效:
<%# string.Format("{0:dd/MM/yyyy}", GetDataItem()) %>