【发布时间】:2015-02-18 09:48:20
【问题描述】:
我正在做旧表单的新版本,一切都很好,但是旧的 FileUpload 标签有问题。我正在使用 jQuery 多文件上传插件作为新的上传样式,效果很好!唯一的问题是,如果我删除旧的 FileUpload 元素,新的元素将不再起作用。所以我的目标是制作表单,用户可以在其中选择将作为电子邮件附件发送的文件。我花了几个小时试图弄清楚这是怎么可能的,因为我也从 c# 文件中删除了对该元素的所有引用。有人有想法吗?
<!-- PROBLEM STARTS-->
<!-- if I delete or add Visible="false" attribute to the element the new upload system wont work anymore-->
<asp:FileUpload ID="fuIssueAttachmentUppload" runat="server" Width="218px" EnableViewState="False"
ViewStateMode="Disabled" />
<!-- PROBLEM ENDS-->
<p>
<asp:Label ID="lblIssueAttachment" runat="server" Text="Attach file(s)"></asp:Label><br />
<input type="file" class="multi" />
</p>
<asp:Button ID="btnSend" runat="server" Text="Send" OnClick="btnSend_Click" Width="290px"
CausesValidation="False" />
这是我将上传的文件附加到电子邮件的部分
for (int i = 0; i < Request.Files.Count; i++)
{
HttpPostedFile file = Request.Files[i];
mail.Attachments.Add(new Attachment(file.InputStream, file.FileName));
}
【问题讨论】:
-
一个
<asp:FileUpload>将呈现一个<input type="file">。如果您不再需要任何服务器端交互,则可以将其替换为其中之一。 -
什么意思?关键是我不想使用旧的
它使用 jquery 多文件上传东西:) -
好的,如果你这样做,你能准确解释什么“不起作用”吗?
-
我编辑了主帖。但是是的,忘了提到如果我删除
元素,它不再附加电子邮件。因此,如果我有新旧文件上传元素,则新元素有效。但是,如果我只有新元素,它将不再起作用。是否可以测试文件是否真的被请求或者是 mail.Attachments 错误? -
“不附加电子邮件”是什么意思,您是否收到错误消息? Request.Files 里面有文件吗?当它“不起作用”时到底有什么不同。
标签: c# jquery html asp.net jquery-file-upload