Ich versuche, eine Datei in VB.NET mit einer HtmlInputFile hochzuladen, aber jedes Mal, wenn ich hochlade, ist die PostFile-Datei von HtmlInputFile Nothing.
Hier ist meine ASP.NET-Code:PostedFile ist nichts beim Hochladen von DataGrid-Dateien
<form id="Form1" method="post" runat="server" enctype="multipart/form-data"> <asp:DataGrid id="dgTitles" runat="server" OnUpdateCommand="dgUpdate" DataKeyField="ID"> <Columns> <asp:TemplateColumn HeaderText="Title" > <ItemTemplate> <asp:Label ID="lTitle" Runat="server"> <%# DataBinder.Eval(Container, "DataItem.Title")%> </asp:Label> </ItemTemplate> <EditItemTemplate> <asp:TextBox ID="tTitle" Runat="server" text='<%# DataBinder.Eval(Container, "DataItem.Title")%>'> </asp:TextBox> </EditItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="Image"> <EditItemTemplate> <input id='fuEditImage' type="file" name="fuEditImage" runat="server" enctype="multipart/form-data" /> </EditItemTemplate> </asp:TemplateColumn <asp:EditCommandColumn UpdateText="Update"> </asp:EditCommandColumn> </Columns> </asp:DataGrid> </form>
ist hier mein VB.NET-Code:
Sub dgUpdate(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
Try
Dim Title = CType(e.Item.FindControl("tTitle"), TextBox).Text
Dim fuUpload As System.Web.UI.HtmlControls.HtmlInputFile = CType(e.Item.FindControl("fuEditImage"), _
System.Web.UI.HtmlControls.HtmlInputFile)
If Not fuUpload.PostedFile Is Nothing Then 'This always = false
If Not fuUpload.PostedFile.FileName = "" Then
UploadImage(fuUpload)
End If
End If
Catch ex As Exception
'Handle Exception here
End Try
End Sub
Wenn ich eine Datei hochladen, fuUpload ist nicht nichts, aber fuUpload.PostedFile ist .
Der eingegebene "Titel" -Text wird nicht erkannt.
Ich habe auch mit FileUpload-Objekt und -Tag, anstelle von Eingabe-Tag und HtmlInputFile-- das gleiche Ergebnis versucht.
Hier ist die Ausgabe von fuUpload, wenn ich einen Eingangs-Tag & Htmlinputfile verwenden:
{System.Web.UI.HtmlControls.HtmlInputFile} Accept: "" AppRelativeTemplateSourceDirectory: "~/app/admin/points/" Attributes: {System.Web.UI.AttributeCollection} BindingContainer: {System.Web.UI.WebControls.DataGridItem} ClientID: "dgTitles__ctl4_fuEditImage" Controls: {System.Web.UI.EmptyControlCollection} Disabled: False EnableTheming: True EnableViewState: True ID: "fuEditImage" MaxLength: -1 Name: "dgTitles:_ctl4:fuEditImage" NamingContainer: {System.Web.UI.WebControls.DataGridItem} Page: {ASP.app_admin_points_pointtitles_aspx} Parent: {System.Web.UI.WebControls.TableCell} PostedFile: Nothing Site: Nothing Size: 45 SkinID: "" Style: {System.Web.UI.CssStyleCollection} TagName: "input" TemplateControl: {ASP.app_admin_points_pointtitles_aspx} TemplateSourceDirectory: "/community/app/admin/points" Type: "file" UniqueID: "dgTitles:_ctl4:fuEditImage" Value: "" Visible: True
Hier ist die Ausgabe von fuUpload wenn ich ein Fileupload-Objekt und Tag verwende:
{System.Web.UI.WebControls.FileUpload} AccessKey: "" AppRelativeTemplateSourceDirectory: "~/app/admin/points/" Attributes: {System.Web.UI.AttributeCollection} BackColor: "{Name=0, ARGB=(0, 0, 0, 0)}" BindingContainer: {System.Web.UI.WebControls.DataGridItem} BorderColor: "{Name=0, ARGB=(0, 0, 0, 0)}" BorderStyle: NotSet {0} BorderWidth: {System.Web.UI.WebControls.Unit} ClientID: "dgTitles__ctl4_fuEditImage" Controls: {System.Web.UI.ControlCollection} ControlStyle: {System.Web.UI.WebControls.Style} ControlStyleCreated: True CssClass: "" Enabled: True EnableTheming: True EnableViewState: True FileBytes: {Length=0} FileContent: {System.IO.Stream.NullStream} FileName: "" Font: {System.Web.UI.WebControls.FontInfo} ForeColor: "{Name=0, ARGB=(0, 0, 0, 0)}" HasAttributes: False HasFile: False Height: {System.Web.UI.WebControls.Unit} ID: "fuEditImage" NamingContainer: {System.Web.UI.WebControls.DataGridItem} Page: {ASP.app_admin_points_pointtitles_aspx} Parent: {System.Web.UI.WebControls.TableCell} PostedFile: Nothing Site: Nothing SkinID: "" Style: {System.Web.UI.CssStyleCollection} TabIndex: 0 TemplateControl: {ASP.app_admin_points_pointtitles_aspx} TemplateSourceDirectory: "/community/app/admin/points" ToolTip: "" UniqueID: "dgTitles:_ctl4:fuEditImage" Visible: True Width: {System.Web.UI.WebControls.Unit}
Kann mir jemand sagen, was ich falsch mache? Warum ist PostedFile immer nichts?
Danke!