zoukankan      html  css  js  c++  java
  • asp.net自带的异步刷新控件使用

    一直都是使用jquery的$.ajax,由于刚刚加入的公司是用asp.net的,webform与之前的ajax加在一起显得很混乱,后来发现asp.net已经封装了一下ajax功能,就查了一下,并且做了测试,写出来,备忘:

    前台代码:

    复制代码
     1             <asp:ScriptManager ID="ScriptManager1" runat="server" />
     2             <asp:TextBox ID="tboutup" runat="server"></asp:TextBox>​
     3             <asp:Button ID="btnouttg" Text="非异步按钮,但是被作为触发器"
     4                 OnClick="Button1_Click" runat="server" />
     5             <asp:Button ID="btnoutnotg" Text="非异步按钮" runat="server" />
     6             <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
     7                 <Triggers>
     8                     <asp:AsyncPostBackTrigger ControlID="btnouttg" />
     9                 </Triggers>
    10                 <ContentTemplate>
    11                     <asp:TextBox ID="tbinup" runat="server"></asp:TextBox>
    12                     <asp:Button ID="btninup" Text="异步按钮" OnClick="btninup_Click" runat="server"  />
    13                 </ContentTemplate>
    14             </asp:UpdatePanel>
    复制代码

    后台代码:

    复制代码
     1 public partial class UpdatePanelTriggers : System.Web.UI.Page
     2 {
     3     protected void Page_Load(object sender, EventArgs e)
     4     {
     5 
     6     }
     7     protected void Button1_Click(object sender, EventArgs e)
     8     {
     9         tboutup.Text += tboutup.Text;
    10         tbinup.Text += tbinup.Text;
    11     }
    12 
    13     protected void btninup_Click(object sender, EventArgs e)
    14     {
    15         tboutup.Text += tboutup.Text;
    16         tbinup.Text += tbinup.Text;
    17     }
    18 }
    复制代码
     
      1. 非异步按钮,一旦被绑定,便不会引起全局刷新,只能引起局部刷新了。
      2. 当某一回发事情被触发时,判断是否为UpdatePanel的异步事件,若是,则将所有的viewstate带回服务器,处理后,UpdatePanel内部控件的视图状态更新,其它的不更新。
      3. 对于触发UpdatePanel刷新的事件:
        1. ​在UpdatePanel的字标签<Triggers>中指定能触发异步刷新的控件或者事件。
        2. 将UpdateMode设为Always则页面上所有的回发事件都会触异步刷新。
        3. 将UpdateMode设为Conditional的时候,只有Triggers定义的触发以及UpdatePanel的子控件的事件才会触发。
        4. 将ChildrenAsTriggers设为false时,子控件postback时候无法触发异步刷新(这个控件同时也无法触发页面的事件,所以。。。废了。。。)。
        5. UpdatePanel的子控件只能触发自己的,无法触发外层UpdatePanel刷新。
        6. 显式调用UpdatePanel的Update方法:
            使用此方法一般是想在后台判定是否局部更新UpdatePanel,此时,要禁止UpdatePanel未经允许的刷新,所以,要设Conditional,且ChildrenAsTriggers设为false,然后在后台设置UpdatePanel.Update();
  • 相关阅读:
    在开发项目中有些常用的的实用代码(ps:平时看着无关紧要的,却很容易忘记)
    C#中Socket编程解决应用程序直接的通信
    关于textjs的tree带复选框的树
    extjs中第一次访问有效,第二次访问出现部分组件无法显示的,动态改变组件的label值的方法,ExtJs中组件最好少使用ID属性(推荐更多使用Name属性)
    ExtJS中动态设置TextField的readOnly属性
    Tomcat根目录下work文件夹的作用
    Numpy包简单介绍
    数字图像处理-傅立叶变换
    数字图像处理-边缘检测
    matplotlib的一些代码
  • 原文地址:https://www.cnblogs.com/xukun588/p/8073179.html
Copyright © 2011-2022 走看看