`

updatePanel下使用uploadFile控件

    博客分类:
  • C#
阅读更多

uploadFile控件和updatePanel不兼容,是微软在官方都承认的事实。现在讨论怎么来避免这个错误,有两种方式可以解决

第一种是:

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:PostBackTrigger ControlID="btnUpload" />
</Triggers>
<ContentTemplate>
<asp:FileUpload ID="FileUpload1" runat="server" Width="400px" />
<asp:Button ID="btnUpload" runat="server" Text="上传" OnClick="btnUpload_Click" />
</ContentTemplate>
</asp:UpdatePanel>
把提交上传文件的按钮放在<Triggers>标签内,而不放在<ContentTemplate>中,特别注意把UpdateMode设为Conditional。然后在btnUpload_Click方法中执行保存文件和写入数据库的操作。当然这样做,上传文件时就失去了异步交互的效果,但是,在执行其它操作的时候,都还是有Ajax特性的。
第二种是:
使用iframe来嵌入到主页面中,这种方式很好,已经试验通过。
摘自http://www.netfocus.cn/article950.html

1:主页面中使用UpdatePanel,然后UpdatePanel里面放置的不是FileUpload控件,而是一个Iframe
2:这个iframe在链接一个新的页面,那个页面里面有FileUpload控件。
3:上传完毕后,告诉主页面上传得结果

先看一个直接使用FileUpload的例子:这个例子里面,服务端是无法找到上传文件的。

<atlas:UpdatePanelID="up1"Mode="Conditional"runat="server">
<ContentTemplate>
<asp:FileUploadID="FileUpload1"runat="server"/>
<asp:ButtonID="Button1"runat="server"Text="Button"OnClick="Button1_Click"/>
< SPAN>ContentTemplate>
< SPAN>atlas:UpdatePanel>


看看,我们该如何实现
1:新建主页面Default.aspx
在适当的位置,放置一个上传附件的UpdatePanel区域

<atlas:UpdatePanelID="up_attachment"Mode="Conditional"runat="server">
<ContentTemplate>
<iframeid="file"name="file"src="attachment.aspx">< SPAN>iframe>
< SPAN>ContentTemplate>
< SPAN>atlas:UpdatePanel>

2:新建上传文件的页面attachment.aspx,然后放上FileUpload控件

<div>
<asp:FileUploadID="FileUpload1"runat="server"/>
<asp:ButtonID="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>
functioncallBack(fileName)
{
document.getElementById(
'Attach1').innerHTML=fileName;
}

< SPAN>script>
分享到:
评论

相关推荐

    updatepanel控件使用方法

    ASP.NET UpdatePanel 控件使用方法详解 UpdatePanel 控件是 ASP.NET 中的一个重要控件,用于实现页面的异步局部更新。它与 ScriptManager 控件联合使用,可以实现页面的局部更新,而不需要刷新整个页面。下面将详细...

    UpdatePanel控件应用

    1. **ScriptManager控件**:在UpdatePanel的使用中,ScriptManager是必不可少的,因为它负责在客户端生成并管理必要的JavaScript代码,以支持UpdatePanel的功能。ScriptManager的`EnablePartialRendering`属性控制...

    Ajax控件:UPdatepanel使用

    **Ajax控件:UpdatePanel详解** 在Web开发中,ASP.NET AJAX框架提供了一种便捷的方式来实现部分页面更新,而无需整个页面刷新。其中,UpdatePanel是这个框架中最常用的控件之一,它允许开发者创建异步的、无刷新的...

    ASP.NET AJAX入门系列:使用UpdatePanel控件

    UpdatePanel控件允许开发者在不重新加载整个页面的情况下更新页面的一部分内容,从而显著提高了用户体验。这种局部更新的实现过程对于用户而言几乎是透明的,因为无需编写复杂的客户端脚本代码即可完成这一过程。只...

    ScriptManager和UpdatePanel控件实现页面异步局部更新效果

    ScriptManager必须放在页面的部分的顶部,但必须在任何使用AJAX功能的控件之下。它主要提供了以下功能: 1. **引入ASP.NET AJAX库**:自动添加`&lt;script&gt;`标签,加载MicrosoftAjax.js和MicrosoftMvcAjax.js等核心...

    使用UpdatePanel控件实例代码

    在ASP.NET Web Forms开发中,UpdatePanel控件是一个非常重要的组件,它允许开发者实现部分页面刷新,即Ajax...通过合理地使用和配置UpdatePanel,开发者可以在不牺牲性能的前提下,实现更动态、更互动的Web应用。

    ASP.NET_AJAX入门系列:使用UpdatePanel控件.doc

    在这个入门系列中,我们将重点关注如何使用UpdatePanel控件,一个无需编写大量客户端脚本来实现异步更新的强大工具。 **一、UpdatePanel控件概述** UpdatePanel是ASP.NET AJAX库中的核心组件之一,用于实现页面的...

    使用UpdatePanel控件实例代码2

    使用UpdatePanel控件实例代码2,作为参考

    ASP.NET AJAX深入浅出系列课程(25):UpdatePanel与服务器端脚本控件(下)

    在本系列课程的第25讲中,我们将深入探讨UpdatePanel及其与服务器端脚本控件的结合使用,特别是下篇内容。 UpdatePanel是ASP.NET AJAX Control Toolkit中的核心组件之一,它的主要功能是在不刷新整个页面的情况下...

    Timer控件定时更新UpdatePanel - Demo

    本教程将详细讲解如何使用`Timer`控件来定时更新`UpdatePanel`,并提供一个基于Visual Studio 2010的Demo示例。 `Timer`控件是ASP.NET AJAX控件工具箱中的一个组件,它允许开发者在客户端以服务器端的时间间隔触发...

    asp.net CKeditor 3 用户自定义控件 解决UpdatePanel下问题

    ### ASP.NET CKeditor 3 用户自定义控件解决UpdatePanel下的问题 #### 一、CKEditor简介 CKEditor是一款功能强大且高度可扩展的在线文本编辑器,在许多网站上都有广泛应用。它支持丰富的文本格式编辑功能,如图像...

    检测浏览器是否支持UpdatePanel控件

    在ASP.NET Web应用程序中,UpdatePanel控件是一个关键组件,它允许页面的部分内容进行异步更新,无需整个页面刷新。这种技术是ASP.NET AJAX库的一部分,显著提升了用户体验,尤其是在交互频繁的应用场景中。然而,...

    ajax--updatepanel使用说明

    使用UpdatePanel,开发者可以避免繁琐的JavaScript和AJAX编程,只需在页面中添加UpdatePanel和ScriptManager控件,就能轻松实现局部更新。以下是一个基础的UpdatePanel定义: ```xml &lt;asp:UpdatePanel ID=...

    ajax UpdatePanel控件示例(源代码)

    这个【标题】"ajax UpdatePanel控件示例(源代码)"以及【描述】"ajax UpdatePanel控件示例(源代码),下载下来后可在VS下运行。" 提供了一个实践学习UpdatePanel的机会。通过下载并运行提供的"UpdateDataPanel...

    UpdatePanel ModalPopup经典实例

    4. **与UpdatePanel结合:** 在某些场景下,ModalPopup可能嵌套在UpdatePanel中,这样在用户操作UpdatePanel时,可以动态弹出ModalPopup,提供更丰富的交互体验。 综上所述,UpdatePanel和ModalPopup是ASP.NET AJAX...

    ASP.NET AJAX深入浅出系列课程(24):UpdatePanel与服务器端脚本控件(上)

    在课程中,你可能会学习如何配置和使用UpdatePanel,以及如何结合服务器端脚本控件来创建动态、响应式的用户界面。这可能涉及到如何设置UpdatePanel的属性,如`Triggers`和`AsyncPostBackTimeout`,以及如何在服务器...

Global site tag (gtag.js) - Google Analytics