zoukankan      html  css  js  c++  java
  • UpdatePanel冲突的几个解决办法

     进入了ajax世界后,慢慢的发现一些原有的方法和控件与UpdatePanel冲突,导致错误的发生。通过慢慢的实践后,现总结与UpdatePanel发生冲突的代码及其解决方法。

    1、UpdatePanel VS FileUpload

       在UpdatePanel里FileUpload.hasfile总是为空的,所以不能直接在UpdatePanel里使用FileUpload控件。解决办法是把上传按钮的ID写在UpdatePanel的PostBackTrigger标签中的ControlID里。示例如下:

    <asp:UpdatePanel ID="updatepanel4" runat ="server" >
       <ContentTemplate >

           <asp:Button ID="Button6" runat="server" Text="上传" height="20px"  />

       </ContentTemplate>

       <Triggers>
           <asp:PostBackTrigger ControlID ="Button6" />
       </Triggers>

    </asp:UpdatePanel>

    2、UpdatePanel VS ModalPopupExtender

       这个问题可以通过变通的方法实现,可以采用纯后台控制的方法。将ModalPopupExtender的TargetControlID设置为一个隐藏字段,通过show和hide方法在后台控制ModalPopupExtender的显示状态。需要注意的是调用ModalPopupExtender.show方法的按钮必须在UpdatePanel中。

    3、UpdatePanel VS 后台js代码

       在UpdatePanel中是不能直接使用js代码的,如Response.Write("<script language='javascript' type='text/javascript'>alert('ok');</script>")如果按照这样的方法调用JS代码只会出现错误信息。那么怎么解决这个问题呢?其实在ScriptManager中注册js代码就可解决,示例如下:

       ScriptManager.RegisterStartupScript(Me.UpdatePanel1, Me.GetType(), "updateScript", "alert('ok');", True)

       C#中需要把Me换成this

  • 相关阅读:
    P3746 [六省联考2017]组合数问题 矩阵乘法
    P3322 [SDOI2015]排序 暴搜
    P2877 [USACO07JAN]Cow School G 斜率优化+分数规划
    P3283 [SCOI2013]火柴棍数字 DP
    AT2005 [AGC003E] Sequential operations on Sequence 单调栈+二分+差分
    CF568C New Language 2-SAT
    P4410 [HNOI2009]无归岛 仙人掌图
    CF505D Mr. Kitayuta's Technology 并查集 拓扑排序
    Algorithms: Design and Analysis, Part 1
    双目测距项目
  • 原文地址:https://www.cnblogs.com/kaiwanlin/p/3620151.html
Copyright © 2011-2022 走看看