У меня есть почтовая форма, которая получает несколько полей с несколькими файлами. Как только я получу все поля текста. но не получать файлы, которые загружаются со стороны клиента. здесь я использую плагин для загрузки нескольких файлов jquery. но при отладке я всегда получаю HasFile false из этого элемента управления загрузкой. для более подробной информации я предоставляю этот код:
HTML-разметка:
<tr>
<td style="width: 20%">Attach Files </td>
<td>
<asp:FileUpload ID="file_upload" runat="server" AllowMultiple="true" CssClass="multi" />
<br />
<asp:GridView ID="gv_file_list" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" GridLines="None">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Button1" runat="server" BackColor="White" BorderColor="White" BorderStyle="None" CommandArgument='<%# Eval("Id") %>' CommandName="DeleteFile" CssClass="theme-font" Font-Underline="True" Text="x" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label14" runat="server" Text='<%# Bind("File_Title") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br />
<asp:Label ID="lblMessage" runat="server" />
</td>
</tr>
и вот мой код для загрузки загруженных файлов:
bool FileAttached;
if (file_upload.HasFile) // which always returns false
{
FileAttached = true;
}
else
{
FileAttached = false;
}
myEmail.Body = CKEditor1.Text.Trim();
myEmail.IsFileAttached = FileAttached;
myEmail.SentDateTime = DateTime.Now;
HttpFileCollection fileCollection = Request.Files;
double tot_file_size = 0;
for (int i = 0; i < fileCollection.Count; i++)
{
File myFile = new File();
HttpPostedFile uploadfile = fileCollection[i];
string fileTitle = Path.GetFileName(uploadfile.FileName);
string fileName = DateTime.Now.ToString("ddMMyyyy_HHmmss");
string fileType = System.IO.Path.GetExtension(fileTitle).ToString().ToLower();
myFile.Email_Id = newId;
myFile.File_Title = fileTitle;
myFile.File_name = fileName;
myFile.File_ext = fileType;
double file_size = int.Parse(uploadfile.ContentLength.ToString()) / 1024;
tot_file_size += file_size;
myFile.File_Size = file_size;
if (uploadfile.ContentLength > 0)
{
uploadfile.SaveAs(Server.MapPath("~/EmailFiles/") + fileName + fileType);
db.Files.InsertOnSubmit(myFile);
db.SubmitChanges();
file_names.Add(fileName + fileType);
}
}
что здесь не так. пожалуйста, помогите мне ..