0

这是我在这里的第一篇文章。

我有一个简单的 ASP.NET 查询字符串驱动页面,其 GridView 列出了特定文件夹的内容(基于查询字符串)。其中一些文件夹包含 PDF,这意味着它在我的 Windows 文件服务器上创建了一个thumbs.db文件(包含文件夹视图的缩略图),不幸的是,该文件列在 GridView 中,看起来很不雅观,有什么方法可以更改 GridView 的代码以删除或隐藏列中包含Thumbs.dbName行。

后面的代码(VB.NET)(由于有很多文件夹而缩短)

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles     Me.Load

    Dim Certs As New IO.DirectoryInfo("D:\PROCEDURES\Certs\")

Dim q As String
    q = Request.QueryString("type")

If q = "Certs" Then
        lbltype.Text = "Certs"
        GridView1.DataSource = Certs.GetFiles()
        GridView1.DataBind()
End If
End Sub

ASPX 代码

asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
    CssClass="GridStyle" ForeColor="#333333" GridLines="None" Width="100%">
    <Columns>
        <asp:TemplateField HeaderText="Document Name" SortExpression="Name">
            <ItemTemplate>
                <asp:HyperLink ID="HyperLink1" NavigateUrl='<%#"http://intranet.(hidden).com/sqe/data/" + Request.QueryString("type") + "/" + Eval("Name")%>' Target="_blank" runat="server"><%#Eval("Name")%></asp:HyperLink>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField DataField="Extension" HeaderText="Extension" SortExpression="Name" />
        <asp:BoundField DataField="Length" HeaderText="File Size" SortExpression="Name" />
        <asp:BoundField DataField="LastAccessTime" HeaderText="Last Modified" SortExpression="Name" />
    </Columns>

非常感谢您的帮助。

4

1 回答 1

1

你可以在 Gridview_rowbound 事件中做到这一点

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
     HyperLink hl = (HyperLink) e.row.FindControl("HyperLink1");
       if (hl.Text == "Thumb.db")
       {
       e.Row.Visible=false;
       }
    }
}

移植到vb对你来说很容易吗?

于 2013-04-05T11:39:17.443 回答