用了UpdatePanel,按钮居然不管用了

来源:互联网 发布:java的逻辑或怎么打 编辑:程序博客网 时间:2024/04/20 07:03

        在没有用UpdatePanel前,页面是可以正常运行的。为了使用户体验变的好点,对页面加上了updatePanel。可随之而来的问题就是,有一个按钮不管用了,通过调试,发现是获取不到页面上的FileUpload控件。

        找了下原因,原来是UpdatePanel不支持文件上传,因为UpdatePanel中的内容是通过XmlHttp实时填充的,更新普通的数据没有问题,但上传文件就不行了。如果你也是同样的问题,但又没有用FileUpload控件,那么可以发下源码,咱们一起探讨。

        而在这个页面如果不加上Ajax,用户体验会很差,随便点一个东西,页面就会闪,给人一种很烦人的感觉。解决方法就是对于获取FileUoload控件ID的按钮触发UpdatePanel的方式设置为PostBackTrigger,代码如下:

</ContentTemplate>        <Triggers><asp:PostBackTrigger ControlID="btnPictureSet" /></Triggers>        <Triggers><asp:PostBackTrigger ControlID="btnSign1Set" /></Triggers>        <Triggers><asp:PostBackTrigger ControlID="btnSign2Set" /></Triggers>    </asp:UpdatePanel>

        但是,此时单击上传后,页面就又回到了开头,并不是从刚才点击时滚动条所在的位置。在asp.net2.0后,可以设置一项属性,使其页面在刷新后回到原来滚动条所在的位置——MaintainScrollPositionOnPostback。用法如下

<%@ Page Title="" Language="C#" MasterPageFile="~/Master/Site.master" MaintainScrollPositionOnPostback="true" AutoEventWireup="true"    CodeBehind="PersonalManagement.aspx.cs" Inherits="Web.SystemManagement.PersonalManagement" %>


原创粉丝点击