我有一个带有GridView控件的页面。
在Gridview中有一个包含ListBox控件的TemplateField:
<asp:TemplateField HeaderText="Uploaded Files">
<ItemTemplate>
<asp:ListBox ID="ListBoxFiles" runat="server"></asp:ListBox>
</ItemTemplate>
</asp:TemplateField>
我需要在页面加载时使用服务器上文件夹中的文件列表填充此ListBox。我对如何做到这一点感到茫然。
我可以用标签实现类似的效果:
<asp:TemplateField HeaderText="Uploaded Files">
<ItemTemplate>
<asp:ListBox ID="ListBoxFiles" runat="server"></asp:ListBox>
<asp:Label ID="LabelFiles" runat="server" Text='<%#GetFiles(Eval("DocDescription")) %>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
后面的代码
Public Function GetFiles(param As String)
GetFiles = ""
Try
Dim filePaths() As String = Directory.GetFiles(Server.MapPath("~/Uploads/") & Session("LastFirst") & " - " & Session("StudentUID") & "/" & param & "/")
For Each filePath As String In filePaths
GetFiles = GetFiles & "<br/>" & Path.GetFileName(filePath)
Next
GetFiles = Right(GetFiles, Len(GetFiles) - 5)
Catch
End Try
End Function
但我希望用户能够选择要删除的文件。
如何在页面加载时填充ListBox?
答案 0 :(得分:0)
你可以这样做(注意:从C#转换):
Protected Sub Page_Load(sender As Object, e As EventArgs)
For Each Row As GridViewRow In GridView1.Rows
If Row.RowType = DataControlRowType.DataRow Then
Dim ListBoxFiles As ListBox = TryCast(Row.FindControl("ListBoxFiles"), ListBox)
ListBoxFiles.Items.Add("aaa")
ListBoxFiles.Items.Add("bbb")
ListBoxFiles.Items.Add("ccc")
End If
Next
End Sub