如何在提交时上传文件

时间:2009-04-06 17:24:14

标签: asp.net html

我在asp.net中有一个表单,里面有一个FileUpload控件。在此控件旁边,我有“上传”按钮,用于将文件上传到文件列表。问题是我也有“Submi”t按钮用于提交整个表格。

现在有人通过浏览按钮选择文件并按“提交”而不是“上传”文件正在上传,我不希望这样。

我希望获得asp.net或一般HTML回答

5 个答案:

答案 0 :(得分:2)

听起来像FileUpload控件和上传按钮应该在它自己的窗体内。使用ASP.NET和1服务器端表单限制,您可能不得不求助于常规HTML控件来执行此操作。

或者,如果未单击“上载”,您可以使用JavaScript清除FileUpload。但是,浏览器可以挑剔访问文件输入(出于安全原因),因此可能无法访问。

答案 1 :(得分:2)

对于常规HTML答案,请将文件上传按钮作为与其他表单不同的表单的一部分,这意味着它们封装在单独的表单标记中。

对于ASP.NET,您将会遇到更多麻烦,因为默认情况下,ASP.NET每页只有一个表单。

但是,最终,我认为你最好重新考虑你的设计。尝试将该文件上传到单独的页面上;如果你有一个不止一件事的页面,你就会引起用户的混淆。

答案 2 :(得分:1)

提交按钮将发送所有表单的信息。

尝试将FileUpload控件放在不同的窗体外面。

答案 3 :(得分:1)

如果您想单独提交,您的FileUpload控件需要采用自己的形式。单击“上载”按钮时,表单的其他部分也将被提交。这就是它的工作原理。

答案 4 :(得分:1)

我会将这两种形式分开。使用JavaScript或类似的东西可能会很痛苦。分离表单的问题是您必须以不丢失原始表单的方式执行此操作,这意味着如果您在文件上传周围有其他表单信息,您可能会有一些噩梦,但如果您可以将文件上传到提交控件的表单的上方或下方,然后很容易。

<form id="A">
  <button name="submit>
</form>
<form id="B">
  <fileupload>
</form>

我在我的某个网站上使用此方法,效果非常好。