遍历 File 表单的问题

jadesun 2006-05-16 05:37:41
<form name="form1" method="post" action="appendarticle.aspx" id="form1" enctype="multipart/form-data">

<INPUT type="file" size="50" name="File">
<INPUT type="file" size="50" name="File">
<INPUT type="file" size="50" name="File">
<INPUT type="file" size="50" name="File">

<INPUT type="file" size="50" name="Image_File">

</form>

我想遍历所有 name="File" 的表单,而不想遍历 name="Image_File" ,使用

HttpFileCollection files = HttpContext.Current.Request.Files;

就将所有File全部遍历了。请问一下,怎么才能实现遍历 name="File" 的表单,获取到值?
...全文
148 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jadesun 2006-05-17
  • 打赏
  • 举报
回复
自已UP
smile9961 2006-05-17
  • 打赏
  • 举报
回复
Request.Form("ControlId")放回string类型,所以不可能通过这种方法得到HttpPostedFile
webwait 2006-05-17
  • 打赏
  • 举报
回复
想实现什么效果呢?
加上Runat=server运行后,若不设定ID,input的name会变成_ctl0、_ctl1。。。来区别服务器控件。你可以测试一下:
<form id="Form1" method="post" runat="server">
<INPUT type="file" size="50" name="File" Runat=server>
<INPUT type="file" size="50" name="File" Runat=server>
<INPUT type="file" size="50" name="File" Runat=server>
<INPUT type="file" size="50" name="File" Runat=server ID="File1">
<INPUT type="file" size="50" name="Image_File" Runat=server ID="File2">
<asp:button id="Button1" runat="server" Text="Button"></asp:button>
</form>
....
private void Button1_Click(object sender, System.EventArgs e)
{
foreach(Control fl in this.FindControl("Form1").Controls)
{
if(fl.GetType().Name=="HtmlInputFile")
{
HtmlInputFile file=(HtmlInputFile)fl;
Response.Write("Control:" +file.Name+ "<br>");
}
}
}
....
如果没有特殊要求的话,在客户端用js代码来遍历效果会好一些
jadesun 2006-05-17
  • 打赏
  • 举报
回复
jadesun 2006-05-16
  • 打赏
  • 举报
回复
如果改成这样子,怎么遍历呢?
<INPUT type="file" size="50" name="File" Runat=server>
<INPUT type="file" size="50" name="File" Runat=server>
<INPUT type="file" size="50" name="File" Runat=server>
<INPUT type="file" size="50" name="File" Runat=server>

<INPUT type="file" size="50" name="Image_File" Runat=server>
webwait 2006-05-16
  • 打赏
  • 举报
回复
得加上Runat=server才行,不然就用js遍历
zhongkeruanjian 2006-05-16
  • 打赏
  • 举报
回复
HttpFile不可能有Html元素的那些属性。

可以把这些Input标志为Runat=server,得到HtmlInputFile控件,然后通过它们的Name属性判断。
Eddie005 2006-05-16
  • 打赏
  • 举报
回复
偶没有办法,看看楼下有没有什么招?
flyinging 2006-05-16
  • 打赏
  • 举报
回复
关注
smile9961 2006-05-16
  • 打赏
  • 举报
回复
Dim Files As HttpFileCollection
Dim i As Int16

Files = HttpContext.Current.Request.Files

For i = 0 To Files.Count - 1
Response.Write(Files(i).FileName)
Response.Write("<br>")
Next

62,046

社区成员

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

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

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

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