当前位置 - 股票行情交易網 - 國際漫評 - FileUpload.HasFile ,無論如何都是false。應該怎麽解決,並未包含UpdatePanel等,只是最簡單的壹個頁面。

FileUpload.HasFile ,無論如何都是false。應該怎麽解決,並未包含UpdatePanel等,只是最簡單的壹個頁面。

,回調時發現上其屬性hasfile為false。解決方案如下:

方案壹、如果將scriptmanager的enablepartialrending設為false則可以正確上傳,這個方法最簡單,但是會有缺 陷,就是在同壹個頁面上的多個UpdatePanel不可以獨自刷新了。另外,當妳的UpdatePanel中存在Validator的話,會造成整個頁 面postback,這個問題似乎是Altas的壹個bug.

方案二、摘自

1:主頁面中使用UpdatePanel,然後UpdatePanel裏面放置的不是FileUpload控件,而是壹個Iframe

2:這個iframe在鏈接壹個新的頁面,那個頁面裏面有FileUpload控件。

3:上傳完畢後,告訴主頁面上傳得結果

先看壹個直接使用FileUpload的例子:這個例子裏面,服務端是無法找到上傳文件的。

<atlas:UpdatePanel ID="up1" Mode="Conditional" runat="server">

<ContentTemplate>

<asp:FileUpload ID="FileUpload1" runat="server" />

<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />

< SPAN>ContentTemplate>

< SPAN>atlas:UpdatePanel>

看看,我們該如何實現

1:新建主頁面Default.aspx

在適當的位置,放置壹個上傳附件的UpdatePanel區域

<atlas:UpdatePanel ID="up_attachment" Mode="Conditional" runat="server">

<ContentTemplate>

<iframe id="file" name="file" src="attachment.aspx">< SPAN>iframe>

< SPAN>ContentTemplate>

< SPAN>atlas:UpdatePanel>

2:新建上傳文件的頁面attachment.aspx,然後放上FileUpload控件

<div>

<asp:FileUpload ID="FileUpload1" runat="server" />

<asp:Button ID="Button1" runat="server" Text="OK" OnClick="Button1_Click" />

< SPAN>div>

3:在attachment.aspx裏面,上傳文件之後調用主頁面的js,報告上傳情況。這是函數原型:

<script>

window.top.callBack(fileName);

< SPAN>script>

4:Default.aspx主頁面裏面增加這個函數,處理返回值

<script>

function callBack(fileName)

{

document.getElementById('Attach1').innerHTML=fileName;

}

< SPAN>script>

另外,團IDC網上有許多產品團購,便宜有口碑