2011-08-01 12 views
0

私は写真をアップロードするためにファイルアップロードを扱っています。しかし、いつもファイルを選択してアップロードボタンをクリックすると、fileuploader.fileはfalseの値を返し、次のコード行は実行されません。私が見つけることができるのは、それが別々の形式でなければならず、そのメソッドが「投稿」されていなければならないということですが、それは問題を解決しませんでした。asp.net C#Fileuploadは常にfalseを返します

ここは私のコードビハインドです。

if (FileUploadControl.HasFile) 
     { 
      try 
      { 
       string filename = Path.GetFileName(FileUploadControl.FileName); 
       FileUploadControl.SaveAs(Server.MapPath("~/") + filename); 
       StatusLabel.Text = "Upload status: File uploaded!"; 
      } 
      catch (Exception ex) 
      { 
       StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message; 
      } 
     } 

ここは私のフロントエンドコードです。

    <form id="form2" action="CompProfile.aspx" method="post" enctype="multipart/form-data"> 
        <asp:FileUpload id="FileUploadControl" runat="server" /> 
        <asp:Button runat="server" id="UploadButton" text="Upload" onclick="UploadButton_Click" /> 
        <asp:Label runat="server" id="StatusLabel" text="Upload status: " /> 
        </form> 
+1

runat="server"は、あなたのWebフォームを=「サーバー」にrunatすべきではない持っているでしょうか?そして、なぜそこにその行動があるのですか、同じページに投稿してはいけませんか? –

+0

フォームには 'runat =" server "属性がありませんか?これはasp.net mvcプロジェクトですか? – deostroll

+0

これはページ上の2番目のフォームで、同じページに2つのrunatサーバータグがあることを示すエラーが表示されます。また、私が見つけたフォーラムでアクションを使用することも提案でした。 – Lucas

答えて

0

0バイトサイズのファイルでテストする場合、falseを返します。ファイルが実際に空でないことを確認してください。

0

あなたのフォームではなくmethod="post"action="..."

関連する問題