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

  • 相关阅读:
    Python操作RabbitMQ
    数组的排序算法
    元类
    Python 中的单例模式
    JS的Ajax和同源策略
    Ajax
    Linux目录结构以及文件操作
    Pymysql
    struts2拦截器和过滤器区别
    为Github 托管项目的访问添加SSH keys
  • 原文地址:https://www.cnblogs.com/kaiwanlin/p/3620151.html
Copyright © 2011-2022 走看看