여러 디렉터리에서 디렉터리 목록을 가져 와서 gridview에 넣으려고합니다. 지금까지 그렇게 좋았습니다. 심지어는 쿼리 문자열을 기반으로 폴더 이름을 다시 가져 오는 searchPattern도 포함 시켰습니다. 그러나 시도하고 GridView에서 하이퍼 링크로 폴더 경로를 설정하면 오른쪽 열 이름을 가져올 수없는 및 반환합니다 거짓말 : "DataBinding : 'System.String'이름 가진 속성을 포함하지 않습니다 ' FullName '. " 내가 도대체 뭘 잘못하고있는 겁니까? "FullName"이라고하지 않은 폴더 경로입니까?바운드 하이퍼 링크가있는 GridView의 디렉터리 .GetDirector
여기 내 코드의 어떤 도움을 주시면 감사 : 코드 뒤에 (VB.NET)를
Dim paths As String = "\\xx\PROJECTS\OilGas\;\\xx\PROJECTS\Utils\;\\xx\PROJECTS\Rail\RAIL PROJECTS\PROJECTS - ACTIVE\"
Dim pathList As String() = paths.Split(";")
Dim files = New List(Of String)()
Dim search As String = "*" + qs.Text
Dim ext As String = "*"
Dim searchPattern As [String] = [String].Format("{0}*{1}", search, ext)
For Each str As String In pathList
Dim d As New DirectoryInfo(str)
files.AddRange(Directory.GetDirectories(d.FullName, searchPattern))
GridView1.DataSource = files
GridView1.DataBind()
Next
Griview 코드 :
<asp:GridView ShowHeader="True" ID="GridView1" runat="server" BorderStyle="None" GridLines="None">
<Columns>
<asp:TemplateField >
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" NavigateUrl='' Target="_blank" Text='<%#Eval("FullName")%>' runat="server"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<em><strong><span style="color: #ff0033">Invalid project code or no project folder found
with that project code.</span></strong></em>
</EmptyDataTemplate>
</asp:GridView>
친절 감사, 제임스.
완벽하게, 당신은 그것을 훌륭하게 설명했고 그것은 작동합니다! 많은 트라 야누스 감사합니다! 내가 이것을 썼을 때 "어쩌면 문자열 목록에 열 이름이 없다"라고 생각하기 시작 했으므로 거기에 도착했습니다. – Stoy
다행입니다. Container.DataItem을 생각해보십시오. 언젠가 복합 객체 목록에서 gridview를 바인딩하면 Eval 메서드가 반영되지 않습니다. – Trajan