私はVB.NETでHtmlInputFileを使用してファイルをアップロードしようとしていますが、アップロードするたびにHtmlInputFileのPostedFileはNothingです。ここで
は私のASP.NETコードである:ここでPostedFileはDataGridファイルのアップロードには何もありません
<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>
は私のVB.NETコードです:
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
私はファイルをアップロードすると、fuUploadは何もありませんが、fuUpload.PostedFileがあります。
入力された「タイトル」テキストは問題なく認識されます。
私はまた、入力タグとHtmlInputFileの代わりにFileUploadオブジェクトとタグを試しました。同じ結果です。 ?私はinputタグ& HtmlInputFile使用するときにここで
はfuUploadの出力です:?ここ
{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
を私がするFileUploadオブジェクトとタグを使用している場合fuUploadの出力です:
{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}
誰かが私が間違っていることを教えてもらえますか? 投稿ファイルはいつも何もないのですか?
ありがとうございます!