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

  • 相关阅读:
    [IOI2013]Dreaming
    Lost Cows
    Mobile Service
    [POI2005]Bank notes
    [CTSC2007]动物园zoo
    [CF1093F]Vasya and Array
    [雅礼集训 2017 Day1]市场
    [APIO2014]序列分割
    [CEOI2004]锯木厂选址
    [APIO2010]特别行动队
  • 原文地址:https://www.cnblogs.com/kaiwanlin/p/3620151.html
Copyright © 2011-2022 走看看