日期:2014-05-18  浏览次数:20792 次

多文件上传时候遇到了个问题 向大家请教
本人这个月才开始学C#,帮朋友做个文件上传的小系统 在开发的时候遇到了些问题
------

我的目标:是想实现多文件上传到指定目录下 并执行SQL语句 将信息存放到数据库里

我实现的思路:先创建一个用户控件 里面放置了1个dropdownlist(显示文件类型) 1个textbox(显示文件信息备注) 还有1个fileupload 添加上传路径;然后在一个ASPX页里动态以编程的方式生成指定数目的这个用户控件。填写信息后,一起上传。
 我先尝试了将用户控件拖到设计视图的方法 在ASPX页和该用户控件通信的方式 在用户空间里写了几个属性和几个方法就能实现通信了 能上传了。然后我就开始考虑多个动态生成的控件一起上传的问题。

遇到的问题有几个
1. 通过生成指定数量的用户控件,然后我想通过foreach遍历页面动态控件,每找到一个用户控件 就添加执行一次SQL语句并且将这个文件上传到目录中。
  我查了查CSDN有类似的问题 我按这个代码写
  foreach (Control uc in Page.Controls)
  {
  if (uc is usercontrol)
  {
  foreach (Control c in uc.Controls)
  if (c is FileUpload)
  Response.Write("//////" + c.ID);
  else
  Response.Write("nono");
   
  }
  else
  {
  Response.Write("没找到啊!" + "<BR/>");
  }
  }
  按这个写在调试的时候无论我输入任何指定数目的用户控件 生成2个4个5个用户控件 都生成5遍这个语句 Response.Write("没找到啊!" + "<BR/>");奇了怪了。。不知道哪的问题。。我测试了下查找服务器控件的例子 都可以找到 就这个用户控件不行。。
2.如果上面这个能找到用户控件的话 我想在每次遍历一个用户控件的时候 我就想知道能不能按我那种按非编程方式和用户控件通信的方法 获取用户控件的值 

----
不知道我说清楚没。。请帮我看看是哪的问题 或者是思路根本就不对?


------解决方案--------------------
你要一个一个new呀 这个指定的数目应该在pageload后再做吧 要不然你定义的数目在这个页面上不好显示
------解决方案--------------------
这个很难做的.
我自己也尝试过,感觉吃力不讨好.
后来公司直接买了一个. ajaxuploader.com
好像有XX版的.