http://community.csdn.net/Expert/topic/5531/5531052.xml?temp=.6948206
______________________________________________________________________
上次那个问题绑定
1,System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo("c:\\Inetpub")
这个可以.但是我想直接绑定c:盘不行.不知道该怎么写了?
2,还有,我另外用datagrid绑定了文件,代码如下:
Dim dirInfo As New DirectoryInfo(f:\aaa)
mydatagrid.DataSource = dirInfo.GetFiles("*.aspx")
mydatagrid.DataBind()
可以像放在数据里面那样搜索吗?
谢谢!
______________________________________________________________________
上次那个问题绑定
1,System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo("c:\\Inetpub")
这个可以.但是我想直接绑定c:盘不行.不知道该怎么写了?
2,还有,我另外用datagrid绑定了文件,代码如下:
Dim dirInfo As New DirectoryInfo(f:\aaa)
mydatagrid.DataSource = dirInfo.GetFiles("*.aspx")
mydatagrid.DataBind()
可以像放在数据里面那样搜索吗?
谢谢!
"gingkgo"这个我不知道是什么东西!
这个可以.但是我想直接绑定c:盘不行.不知道该怎么写了?这个应该是出于 安全问题 不允许asp.net用户 进行这样的操作吧
可以试试 身份模拟.
http://www.cnblogs.com/chegan/archive/2005/11/20/280793.html
用 身份模拟先试一下: <identity impersonate="true" userName="administrator" password="123131" />
"gingkgo"这个我不知道是什么东西!你在遍历c盘 怎么会跑出 f盘的东西?
这应该是目录。会是会是系统目录或隐藏目录?2.搜索可以像搜索文件的方式
你已经写出来了。支持*?
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
If Not IsPostBack Then
Dim dir As System.IO.DirectoryInfo = New System.IO.DirectoryInfo("F:\")
binddir(dir, TreeView1.Nodes)
End If
End Sub
-------
Sub binddir(ByVal dir As DirectoryInfo, ByVal nodes As TreeNodeCollection)
Dim node As TreeNode = New TreeNode
node.Text = dir.Name
node.Value = dir.FullName
nodes.Add(node)
Dim dirs As DirectoryInfo() = dir.GetDirectories()
For Each d As DirectoryInfo In dirs
binddir(d, node.ChildNodes)
Next
End Sub
,同样的错误提示
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
int i = 0;
foreach(FileInfo file in dirInfo.GetFiles("*.aspx"))
{
i++;
dt1.Rows.Add(new object[] { i, file.Name });
}
DataSet ds = new DataSet();
ds.Tables.Add(dt);
mydatagrid.DataSource = ds;
mydatagrid.DataBind();//搜索的时候 用下面的代码 然后将行读取添加到新的 dt 绑定
//string key = "test";
// DataRow[] drows = ds.Tables[0].Select(" Name like '%" + key +"%'");
-----------------------------
hertcloud(·£孙子兵法£·)
DataRow[] drows = ds.Tables[0].Select(" Name like '%" + key +"%'")
重新绑定就可以了吧!但如果我这里有3页的话,如果我点第2页的时候点树上面的节点重新绑定的datagrid的时候会报错,在第一页的时候才没有错!辛苦大家帮我看看代码,看看该怎么改:
Imports System.Web.UI.WebControls
Imports System.IO
Imports System.Data
Imports System.Data.SqlClient
Partial Class _Default
Inherits System.Web.UI.Page
Dim path As String
Dim extension As String#Region " Web 窗体设计器生成的代码 " '该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub
'注意: 以下占位符声明是 Web 窗体设计器所必需的。
'不要删除或移动它。
Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub#End Region
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
path = "f:\\swedaoa\images\"
extension = "*.*"
If Not IsPostBack Then
Dim dir As System.IO.DirectoryInfo = New System.IO.DirectoryInfo("F:\")
binddir(dir, TreeView1.Nodes)
TreeView1.ExpandDepth = 1
bindgrid(path, extension)
End If
End Sub
Sub binddir(ByVal dir As DirectoryInfo, ByVal nodes As TreeNodeCollection)
Dim node As TreeNode = New TreeNode
node.Text = dir.Name
node.Value = dir.FullName
nodes.Add(node)
Dim dirs As DirectoryInfo() = dir.GetDirectories()
For Each d As DirectoryInfo In dirs
binddir(d, node.ChildNodes)
Next
End Sub
Sub MyDataGrid_Page(ByVal sender As Object, ByVal e As DataGridPageChangedEventArgs) Handles mydatagrid.PageIndexChanged
mydatagrid.CurrentPageIndex = e.NewPageIndex
bindgrid(path, extension)
End Sub
Sub bindgrid(ByVal path As String, ByVal type As String)
Dim dirInfo As New DirectoryInfo(path)
mydatagrid.DataSource = dirInfo.GetFiles(type)
mydatagrid.DataBind()
End Sub
Sub node_chang(ByVal sender As Object, ByVal e As EventArgs)
Dim nodeid As String = TreeView1.SelectedNode.Value
path = ""
path = nodeid.ToString
bindgrid(path, extension)
End Sub
Sub searchbt_click(ByVal sender As Object, ByVal e As EventArgs)
Dim name As String = "*" & filename.Text & "*"
Dim type As String = ".*" & filetype.Text & "*"
Dim fullname As String
fullname = name & type
bindgrid(path, fullname)
End Sub
End Class
--------------------------------------------
唉.估计用winfrom就简单多了!