cpp2017(慕白兄),高手们再来帮我看看

chuxue1342 2007-05-16 03:36:28
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()
可以像放在数据里面那样搜索吗?
谢谢!
...全文
261 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
chuxue1342 2007-05-16
  • 打赏
  • 举报
回复
在我看来会的都是高手,你自己觉得不是我也没办法.你不告诉是你的权利!
  • 打赏
  • 举报
回复
会也不告诉你(的确会).因为我不是高手
最恨这样的帖子
wang520d 2007-05-16
  • 打赏
  • 举报
回复
UP
xray2005 2007-05-16
  • 打赏
  • 举报
回复
学习
chuxue1342 2007-05-16
  • 打赏
  • 举报
回复
我换了个盘可以了,唉.太粗心了!
-----------------------------
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就简单多了!
cpp2017 2007-05-16
  • 打赏
  • 举报
回复
那就要杀杀了。
hertcloud 2007-05-16
  • 打赏
  • 举报
回复
//可以 通过datatable来查询

DirectoryInfo dirInfo = new DirectoryInfo("f:\aaa");
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 +"%'");

chuxue1342 2007-05-16
  • 打赏
  • 举报
回复
刚刚发现在确实有gingkgo这个文件.不能删除!像是病毒
cpp2017 2007-05-16
  • 打赏
  • 举报
回复
运行cmd dir f:\gingkgo* /a
chuxue1342 2007-05-16
  • 打赏
  • 举报
回复
晕.说了是f盘了.我加了<identity impersonate="true" userName="administrator" password="123131" />
,同样的错误提示
amandag 2007-05-16
  • 打赏
  • 举报
回复
你在遍历c盘 怎么会跑出 f盘的东西?
====================================
确实比较强
chuxue1342 2007-05-16
  • 打赏
  • 举报
回复
我没搞C盘.我遍历的是F盘!gingkgo这个目录绝对没有!代码如下:
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
cpp2017 2007-05-16
  • 打赏
  • 举报
回复
gingkgo 这应该是目录。会是会是系统目录或隐藏目录? 2.搜索可以像搜索文件的方式 你已经写出来了。 支持*?
hertcloud 2007-05-16
  • 打赏
  • 举报
回复
能说得具体点吗?权限我想应该设置够了吧!错误提示是:未能找到路径“F:\gingkgo”的一部分。
"gingkgo"这个我不知道是什么东西!

你在遍历c盘 怎么会跑出 f盘的东西?
cpp2017 2007-05-16
  • 打赏
  • 举报
回复
1.应该是没有权限 用 身份模拟先试一下: <identity impersonate="true" userName="administrator" password="123131" />
hertcloud 2007-05-16
  • 打赏
  • 举报
回复
1,System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo("c:\\Inetpub")
这个可以.但是我想直接绑定c:盘不行.不知道该怎么写了?

这个应该是出于 安全问题 不允许asp.net用户 进行这样的操作吧
可以试试 身份模拟.
http://www.cnblogs.com/chegan/archive/2005/11/20/280793.html
chuxue1342 2007-05-16
  • 打赏
  • 举报
回复
能说得具体点吗?权限我想应该设置够了吧!错误提示是:未能找到路径“F:\gingkgo”的一部分。
"gingkgo"这个我不知道是什么东西!
真相重于对错 2007-05-16
  • 打赏
  • 举报
回复
权限不够

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧