2011-10-28 35 views
2

我正在使用FileUpload控件上傳圖像,我可以使用該瀏覽按鈕選擇圖像,但是當我嘗試預覽選定的一個,我沒有得到文件名,它顯示爲空。 。FileUpload控件不採取文件名

protected void btnImgUpload_Click(object sender, ImageClickEventArgs e) 
{ 
    try 
    { 
     string strimage; 
     string strfilename, strextn; 
     if (fupImage.HasFile) 
     { 

在上面的代碼,fupImage.FileName屬性應該有選擇的圖片的名字,但既然這麼fubImage.HasFile條件是要假仍然空字符串「」。我不明白爲什麼條件會變得錯誤,而文件被選中,?這裏有什麼問題?

在此先感謝

+0

是什麼'fupImage'?它在哪裏定義? –

+0

你使用UpdatePanel嗎? – ojlovecd

+0

檢查該文件上傳器控件的View-state屬性,如果View-state爲false,則在回發後您將獲得空值 –

回答

2

我做了什麼來測試它是 我創建一個ASP頁面

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication2.WebForm1" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 

     <asp:FileUpload ID="fupImage" runat="server" /> 
     <asp:Button ID="btnImageUpload" runat="server" onclick="btnImageUpload_Click" 
      Text="Upload" /> 

    </div> 
    </form> 
</body> 
</html> 

背後類的代碼是

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace WebApplication2 
{ 
    public partial class WebForm1 : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 


     protected void btnImageUpload_Click(object sender, EventArgs e) 
     { 
      try 
      { 
       string strimage; 
       string strfilename, strextn; 
       if (fupImage.HasFile) 
       { 
        //do something 
       } 
      } 
      catch 
      { 
      } 
     } 
    } 
} 

,並沒有去錯

我想說測試它只是創建一個非常簡單le實例並在複雜的環境中測試它可能會有一些額外的規則可能會阻止正常的工作!有時它看起來那麼unnoraml

+0

這個文件上傳工作正常在一個單獨的應用程序,但同樣這不工作到我的主要應用程序,如果(fupImage.HasFile)條件是假的,仍然顯示FileUploader.FileName只是空的..我不知道爲什麼它不採取文件名稱。 – Lakshmitha

+0

您是否使用更新面板? – DeveloperX

+0

雅我正在使用更新面板。但它的工作很好,以舊形式更新面板。相同的代碼不在我的工作。 – Lakshmitha

1

檢查該文件上傳控件的視圖狀態屬性,如果視圖狀態是假的,然後回來後,你會得到空值

+0

EnableViewState屬性默認情況下是真實的,已經創建的圖片上傳控件在其他表單中很好地工作,並且相同的代碼單獨工作,我創建的新工具只能工作。 – Lakshmitha

+0

看看你的其他表單和這個表單有什麼不同,任何頁面級別的視圖狀態設置,父級視圖狀態設置等,以便您可以正確地排除問題區域 –