我有以下GridView
其中顯示File Name
和Download
按鈕和View in Browser
按鈕:如何將值添加到ASP:BoundField的
<asp:GridView ID="GridView1" ClientIDMode="Static" runat="server" AutoGenerateColumns="false" EmptyDataText = "No PDF was generated">
<Columns>
<asp:BoundField DataField="Text" HeaderText="File Name" />
<asp:BoundField DataField="Text" HeaderText="File Date" />
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lnkDownload" Text="Download" runat="server" CommandArgument='<%# Container.DataItemIndex %>' OnClick="DownloadFile" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lnkView" Text="View in Browser" CommandArgument='<%# Container.DataItemIndex %>' OnClientClick="window.document.forms[0].target='blank';" runat="server" OnClick="ViewFile" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我使用這個修改從C#的File Name
:
files.Add(new ListItem(Path.GetFileName(filePath), filePath));
我希望能夠將文件修改日期添加到每個文件的File Date
列,所以我嘗試使用以下行:
files.Add(new ListItem(File.GetLastWriteTimeUtc(Path.GetFileName(filePath)).toString(), filePath));
但是,在每個文件名下面添加了另一行,並且還顯示錯誤的日期。
下面是截圖:
如何解決我的代碼,以便每個file name
列對應文件的修改日期在file date
列?
全碼:
if (!Page.IsPostBack)
{
try
{
string[] filePaths = Directory.GetFiles(@"C:\PDFGenerate");
List<ListItem> files = new List<ListItem>();
foreach (string filePath in filePaths)
{
files.Add(new ListItem(Path.GetFileName(filePath), filePath));
files.Add(new ListItem(File.GetLastWriteTime(Path.GetFileName(filePath)).ToString(), filePath));
}
GridView1.DataSource = files;
GridView1.DataBind();
}
catch (Exception ce)
{
}
//MessageBox.Show(files.Count() + ""); // displays the count for the files being displayed
}
'文件'變量代表什麼?它是數據源嗎?你能否把它添加到你的問題? – Dethariel
@Dhahariel謝謝你提醒我......我添加了完整的代碼。 – SearchForKnowledge