Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ASP.NET中使用UpdatePanel实现局部异步刷新方法和攻略「建议收藏」

ASP.NET中使用UpdatePanel实现局部异步刷新方法和攻略「建议收藏」

作者头像
全栈程序员站长
发布于 2022-09-15 06:56:48
发布于 2022-09-15 06:56:48
2.4K0
举报

大家好,又见面了,我是你们的朋友全栈君。

转载自:ching126,http://blog.csdn.net/chenhongwu666/article/details/41392529

asp.net UpdatePanel实现异步局部刷新

如有雷同,不胜荣欣,若转载,请注明

鉴于最近项目需要,研究了一下UpdatePanel控件的使用方法,现总结如下,可能有很多地方不足,还望大家斧正哦,此文的目的也是为了帮助UpdatePanel的初学者,也是为了给自己的学习之路留个脚印,以便自己查缺补漏,废话到此,下面直接开始

UpdatePanel局部刷新的使用

ScriptManager和UpdatePanel控件联合使用可以实现页面异步局部更新的效果。其中的UpdatePanel就是设置页面中异 步局部更新区域,它必须依赖于ScriptManager存在,因为ScriptManger控件提供了客户端脚本生成与管理UpdatePanel的功能。

ScriptManager控件重要的属性: ScriptManager控件的EnablePartialRendering属性:true-表示实现页面的异步局部更新;false-表示实现全页面的刷新。此属性默认值为true UpdatePanel控件重要的属性: UpdatePanel控件的RenderMode属性:InLine,UpdatePanel控件被解析成HTML的<span>标记;Block,UpdatePanel控件被解析成HTML控件的<div>。 UpdatePanel控件的UpdateMode属性:Always,UpdatePanel页面上任何一处发生的回发操作都会产生页局部更新;Conditional,只在特定的情况下才产生页面的回发,如执行UpdatePanel控件的update()方法或在指定的触发器的操作下,UpdatePanel控件的UpdateMode默认为”Always”。 UpdatePanel控件的ChildAsTrigger属性:指示UpdatePanel内部控件引起的回发是否产生当前UpdatePanel控件的局部更新。如果UpdateMode设为Always的话,那ChildAsTrigger属性必须设为True,否则运行出错。

一、UpdatePanel内部的控件引起的回发,来更新当前UpdatePanel内部的控件内容: 1.向页面中加入ScriptManager、UpdatePanel控件和一个Label控件,ID=”Label1″。 2.在UpdatePanel中加入一个Button、一个Label,ID=”Label2″。 3.双击Button在事件处理程序中写入下列代码:Label2.Text = DateTime.Now.ToString(); 4.在Page_Load事件中写入下列代码:Label1.Text = DateTime.Now.ToString(); 5.运行页面,发现每次点击按钮都会产生异步局步刷新,只有Label2的内容发生更改,页面上的Label1时间没有发生更改。 代码如下: <asp:Label ID=”Label1″ runat=”server” Text=”Label”></asp:Label> <asp:ScriptManager ID=”ScriptManager1″ runat=”server”> </asp:ScriptManager> <asp:UpdatePanel ID=”UpdatePanel1″ runat=”server” ChildrenAsTriggers=”True”> <ContentTemplate> <asp:Label ID=”Label2″ runat=”server”></asp:Label> <br /> <asp:Button ID=”Button1″ runat=”server” OnClick=”Button1_Click” Text=”Button” /> </ContentTemplate> </asp:UpdatePanel> 后台代码: protected void Button1_Click(object sender, EventArgs e) { Label2.Text = DateTime.Now.ToString(); ; } protected void Page_Load(object sender, EventArgs e) { Label1.Text = DateTime.Now.ToString(); } 注意:此时的ScriptManager的EnablePartialRendering属性应设为true(默认即为true)。UpdatePanel的UpdateMode属性应设为Always(默认即为Always)。ChildAsTrigger属性应设为true(默认即为true)。

二、UpdatePanel控件外部的控件引起的回发,来异步更新UpdatePanel内部的内容 虽然上面的方式能够实现很简单地异步局部更新的功能,但就性能方面考虑,我们应当只将数据确实会发生变化的控件摆放在UpdatePanel中,这就可能会出现引起回发的控件不在UpdatePanel内的情况。这个时候我们有两种方式实现这种效果。

A.在Page_Load方法中用ScriptManager1.RegisterAsyncPostBackControl()来注册一下要实现异步更新的控件。 B.用触发器来实现。 1、ScriptManager1.RegisterAsyncPostBackControl()注册的控件可以实现对所有的UpdatePanel控件的异步更新。 如:ScriptManager1.RegisterAsyncPostBackControl(this.Button2);实现对Button2的注册,那此时Button2的回发就变成一个异步回发(页面不会刷新),它会导致页面上所有的UpdatePanel的内容的更新。 注意:此时的ScriptManager的EnablePartialRendering属性应设为true。UpdatePanel的UpdateMode属性应设为Always。

2、ScriptManager1.RegisterAsyncPostBackControl()注册的控件可以实现针对特定UpdatePanel控件的异步更新。 a.把页面上所有的UpdatePanel控件的UpdateMode设为Conditional。 b.ScriptManager1.RegisterAsyncPostBackControl(this.Button2);实现对Button2的注册。 c.在Button2控件的Click事件中后面加入后面的代码:UpdatePanel1.Update(); 这样Button2按钮只对UpdatePanel1控件实现的异步的局部刷新。 注意:这里的UpdatePanel的属性要设为Conditional,如果这里多个UpdatePanel控件都设置为Always的话,所有的UpdatePanel都不会出现刷新的效果。 如果将其中Button2事件代码UpdatePanel1.Update()对应的UpdatePanel设置为Conditional时,则多个UpdatePanel都会出现刷新的效果,要实现多个UpdatePanel中 其中一个实现更新效果的话,需要将UpdatePanel的UpdateMode都设置为Conditional才可以 3、触发器 如果页面上有多个UpdatePanel控件,如果要实现外部的控件的回发引发指定的UpdatePanel更新的话,那应当要为实现刷新的UpdatePanel控件建立一个触发器。 a.选中要进行局部更新的UpdatePanel控件。 b.在其属性页中点击Triggers集合属性右边的小按钮。 c.在弹出的对话框中的成员列表中添加一个AsyncPostBackTriggers成员。 d.指定AsyncPostBackTriggers成员的ControlID和EventName,即引发异步回送的控件的ID和该控件的事件。 完成以上步骤后,切换到HTML页面就会出现下列代码: <asp:UpdatePanel ID=”UpdatePanel2″ runat=”server” RenderMode=”Inline” UpdateMode=”Conditional”> <ContentTemplate> <asp:Label ID=”Label3″ runat=”server” Text=”Label”></asp:Label> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID=”Button2″ EventName=”Click” /> </Triggers> </asp:UpdatePanel> <asp:Button ID=”Button2″ runat=”server” OnClick=”Button2_Click” Text=”ButtonOut” /> e.b到d的步骤可以直接在html页面中UpdatePanel控件内<ContentTemplate></ContentTemplate>之后添加 <Triggers><asp:AsyncPostBackTrigger ControlID=”Button2″ EventName=”Click” /></Triggers>,和上面步骤产生的代码是一样的 这里需要大家注意的是: 把所有的UpdatePanel控件的UpdateMode设为”Conditional”,这样才能够针对建有相关触发器的UpdatePanel更新。 一个UpdatePanel上可以建有多个触发器,实现在不同的情况下对该UpdatePanel控件内容的更新。示例如下: <Triggers> <asp:AsyncPostBackTrigger ControlID=”Button1″ EventName=”Click”/> <asp:AsyncPostBackTrigger ControlID=”Button2″ EventName=”Click”/> <asp:PostBackTrigger ControlID=”Button3″ EventName=”Click”/> </Triggers> 三、两个UpdatePanel控件,其中一个UpdatePanel内的控件引发两个UpdatePanel控件的同时刷新。 a.在页面上放入两个UpdatePanel和一个ScriptManager控件。 b.在UpdatePanel1中加入一个标签Label1、一个按钮Button1 ,在UpdatePanel2中加入一个标签Label2。 c.将UpdatePanel1和UpdatePanel2两个控件的的UpdateMode属性设为”Always” c.在Button1的Click事件中加入下面的代码: protected void Button1_Click(object sender, EventArgs e) { Label1.Text = DateTime.Now.ToString(); Label2.Text = DateTime.Now.ToString(); } d.或者只在Page_Load事件中填写如下代码即可 protected void Page_Load(object sender, EventArgs e) { Label1.Text = DateTime.Now.ToString(); Label2.Text = DateTime.Now.ToString(); } 四、两个UpdatePanel控件,其中一个UpdatePanel内的控件引发当前的UpdatePanel控件的刷新,而另一个不刷新。 a.步骤和上面的(三)一样 b.要把UpdatePanel1和UpdatePanel2两个控件的UpdateMode属性设为Conditional,这里需要注意,如果将一个设置为Conditional,一个设置为Always则两个都会刷新的 <asp:ScriptManager ID=”ScriptManager1″ runat=”server”> </asp:ScriptManager> <asp:UpdatePanel ID=”UpdatePanel1″ runat=”server” UpdateMode=”Conditional”> <ContentTemplate> <asp:Label ID=”Label1″ runat=”server” Text=”Label”></asp:Label> <br /> <asp:Button ID=”Button1″ runat=”server” OnClick=”Button1_Click1″ Text=”更新两个UpdatePanel” /> </ContentTemplate> </asp:UpdatePanel> <asp:UpdatePanel ID=”UpdatePanel2″ runat=”server” UpdateMode=”Conditional”> <ContentTemplate> <asp:Label ID=”Label2″ runat=”server” Text=”Label”></asp:Label> </ContentTemplate> </asp:UpdatePanel> 五、两个UpdatePanel控件,其中一个UpdatePanel内的控件引发另一个UpdatePanel控件的刷新,而本身不刷新。 a.步骤和上面的(四)一样(两个都设置为Conditional)之后,还需要 b.把UpdatePanel1和UpdatePanel2的ChildrenAsTriggers属性设为false c.在UpdatePanel2控件中加入一个触发器,触发源设到UpdatePanel1控件内的Button1的Click事件上。 <asp:ScriptManager ID=”ScriptManager1″ runat=”server”> </asp:ScriptManager> <asp:UpdatePanel ID=”UpdatePanel1″ runat=”server” UpdateMode=”Conditional” ChildrenAsTriggers=”False”> <ContentTemplate> <asp:Label ID=”Label1″ runat=”server” Text=”Label”></asp:Label> <br /> <asp:Button ID=”Button1″ runat=”server” OnClick=”Button1_Click1″ Text=”只更新UpdatePane2″ /> </ContentTemplate> </asp:UpdatePanel> <asp:UpdatePanel ID=”UpdatePanel2″ runat=”server” UpdateMode=”Conditional”> <ContentTemplate> <asp:Label ID=”Label2″ runat=”server” Text=”Label”></asp:Label> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID=”Button1″ EventName=”Click” /> </Triggers> </asp:UpdatePanel>

在开发过程中难免会用到UpdatePanel控件的一些复杂的使用。 如:UpdatePanel控件的嵌套、在母版页中使用UpdatePanel、在用户控件中使用UpdatePanel以及在GridView中使用UpdatePanel等。 其实这些操作也免不了对UpdatePanel控件的UpdateMode属性、ChildrenAsTrigger属性以及触发器的使用,下面是系统地说明。

一、两个嵌套的UpdatePanel控件,外部的UpdatePanel内的控件回发引发二者同时更新 在页面上放一个ScriptManager和UpdatePanel控件(UpdatePanel1),在UpdatePanel1中放入一个标签控件 (lb1)、一个按钮(Button1)和另一个UpdatePanel控件(UpdatePanel2),在UpdatePanel2控件中放一 个标签控件lb2。 <asp:ScriptManager ID=”ScriptManager1″ runat=”server”> </asp:ScriptManager> <asp:UpdatePanel ID=”UpdatePanel1″ runat=”server” UpdateMode=”Conditional”> <ContentTemplate> <asp:Label ID=”lb1″ runat=”server”></asp:Label> <asp:Button ID=”Button1″ runat=”server” OnClick=”Button1_Click2″ Text=”Button” /> <asp:UpdatePanel ID=”UpdatePanel2″ runat=”server” UpdateMode=”Conditional”> <ContentTemplate> <asp:Label ID=”lb2″ runat=”server”></asp:Label> </ContentTemplate> </asp:UpdatePanel> </ContentTemplate> </asp:UpdatePanel> 在Button1控件中的Click事件中加入下面的代码: protected void Button1_Click2(object sender, EventArgs e) { lblIn.Text = DateTime.Now.ToString(); lblOut.Text = DateTime.Now.ToString(); } 要实现外部UpdatePanel内控件的回发引起内部和外部两个UpdatePanel控件的同时刷新的话,需要把两个UpdatePanel控件的 UpdateMode都设为Conditional,这样外部UpdatePanel内的控件回发会自动引起内部UpdatePanel控件的刷新。 注意:外部UpdatePanel控件的ChildrenAsTrigger属性要设为True,两个UpdatePanel控件的UpdateMode要都设为 Conditional,如果UpdateMode设为Always的话也会出现两个UpdatePanel同时刷新的效果,这样会导致页面上其它的 UpdatePanel控件也发生刷新。 二、两个嵌套的UpdatePanel控件,内部的UpdatePanel内的控件回发引发二者同时更新 在页面上放一个ScriptManager和UpdatePanel控件(UpdatePanel1),在UpdatePanel1中放入一个标签控件 (lb1)和另一个UpdatePanel控件(UpdatePanel2),在UpdatePanel2控件中放一个标签控件lb2和一个按 钮(Button1)。 <asp:ScriptManager ID=”ScriptManager1″ runat=”server”> </asp:ScriptManager> <asp:UpdatePanel ID=”UpdatePanel1″ runat=”server” UpdateMode=”Conditional”> <ContentTemplate> <asp:Label ID=”lb1″ runat=”server” ></asp:Label> <br /> <asp:UpdatePanel ID=”UpdatePanel2″ runat=”server” UpdateMode=”Conditional”> <ContentTemplate> <asp:Label ID=”lb2″ runat=”server” ></asp:Label> <asp:Button ID=”Button1″ runat=”server” OnClick=”Button1_Click” Text=”Button” /> </ContentTemplate> </asp:UpdatePanel> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID=”Button1″ EventName=”Click” /> </Triggers> </asp:UpdatePanel> 在按钮的Click事件中和(一)中的一样。 注意: 把两个UpdatePanel控件的UpdateMode属性设为Conditional,要把内部控件ChildrenAsTrigger设为 True。但这样内部UpdatePanel内的控件只引发自身的刷新,不会引发外部的UpdatePanel控件的刷新,不会刷新外部的 UpdatePanel控件,因此我们还需要为外部UpdatePanel控件加入一个触发器,触发源指定为Button1控件的Click事件上。

三、两个嵌套的UpdatePanel控件,外部的UpdatePanel内的控件回发只引发内部控件的更新 在页面上放一个ScriptManager和UpdatePanel控件(UpdatePanel1),在UpdatePanel1中放入一个标签控件 (lb1)、一个按钮(Button1)和另一个UpdatePanel控件(UpdatePanel2),在UpdatePanel2控件中放一个标签控件lb2。 <asp:ScriptManager ID=”ScriptManager1″ runat=”server”> </asp:ScriptManager> <asp:UpdatePanel ID=”UpdatePanel1″ runat=”server” UpdateMode=”Conditional” ChildrenAsTriggers=”False”> <ContentTemplate> <asp:Label ID=”lb1″ runat=”server” ></asp:Label> <asp:Button ID=”Button1″ runat=”server” OnClick=”Button1_Click” Text=”Button” /><br /> <asp:UpdatePanel ID=”UpdatePanel2″ runat=”server” UpdateMode=”Conditional”> <ContentTemplate> <asp:Label ID=”lb2″ runat=”server” ></asp:Label>&nbsp; </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID=”Button1″ EventName=”Click” /> </Triggers> </asp:UpdatePanel> </ContentTemplate> </asp:UpdatePanel> 在按钮的Click事件中和(一)中的一样。 注意: 要把两个UpdatePanel控件的UpdateMode设为Conditional,把外部UpdatePanel控件的 ChildrenAsTrigger设为false。这样两个UpdatePanel控件都不会刷新,所以还要为内部的UpdatePanel控件建立触 发器,触发源指向外部UpdatePanel中的的Button1的Click事件上。 四、母版页中使用UpdatePanel控件 如果将ScriptManager控件添加在母版页上的话,那么各内容页面就没必要再添加ScriptManager控件了,只需添加UpdatePanel控件就可以了,因为母版页和内容页面将来生成的是一个页面的实例,而在一个页面上是不允许同时存在两个ScriptManager控件的。 如果ScriptManager控件没有添加在母版页上的话,那只能把ScriptManager控件添加在其中一个内容页面里。不要向每一个内容页面中添加ScriptManager控件。 1、内容页面中的UpdatePanel内的控件引起回发,只更新当前内容页面的内容。 此时按钮分别在各自的UpdatePanel控件内。 将两个内容页面内的两个UpdatePanel控件的UpdateMode设为Conditional,ChildrenAsTrigger设为True。 在按钮的Click事件中和(一)中的一样。 这样就出现各内容页的UpdatePanel内的按钮只对当前内容页起作用。 2、在母版页中的按钮引起回发,更新指定内容页的信息。 此时有两个按钮:ButtonOut在母版页中,ButtonIn在内容页面1中。 当点击ButtonOut时,异步更新两个内容页面的信息。当点击ButtonIn时,异步更新母版面中的UpdatePanel1中的信息。 母版页HTML代码如下: <div> 母版页 3、<asp:ScriptManager ID=”ScriptManager1″ runat=”server”> </asp:ScriptManager> <asp:UpdatePanel ID=”UpdatePanel1″ runat=”server” RenderMode=”Inline” UpdateMode=”Conditional”> <ContentTemplate> <asp:Label ID=”lbl” runat=”server” Text=”Label”></asp:Label> </ContentTemplate> </asp:UpdatePanel> <br /> <asp:Button ID=”Button1″ runat=”server” OnClick=”Button1_Click” Text=”ButtonOut” /><br />

<table width=80%> <tr> <td> <asp:contentplaceholder id=”ContentPlaceHolder1″ runat=”server”> </asp:contentplaceholder> </td> <td bgcolor=maroon> <asp:ContentPlaceHolder ID=”ContentPlaceHolder2″ runat=”server”> </asp:ContentPlaceHolder> </td> </tr> </table> <br /> 内容页面的HTML代码如下: <%@ Page Language=”C#” MasterPageFile=”~/MasterPage.master” AutoEventWireup=”true” CodeFile=”Child.aspx.cs” Inherits=”Child” Title=”UpdatePanel Test Page” %> <%@ MasterType VirtualPath=”~/MasterPage.master” %> <asp:Content ID=”Content1″ ContentPlaceHolderID=”ContentPlaceHolder1″ runat=”Server”> <asp:UpdatePanel ID=”UpdatePanel1″ runat=”server”> <ContentTemplate> <asp:Label ID=”Label1″ runat=”server” Text=”Label”></asp:Label> <asp:Button ID=”Button1″ runat=”server” OnClick=”Button1_Click” Text=”ButtonInner” /> </ContentTemplate> </asp:UpdatePanel> </asp:Content>

<asp:Content ID=”Content2″ runat=”server” ContentPlaceHolderID=”ContentPlaceHolder2″> <asp:UpdatePanel ID=”UpdatePanel2″ runat=”server”> <ContentTemplate> <asp:Label ID=”Label2″ runat=”server” Text=”Label”></asp:Label> </ContentTemplate> </asp:UpdatePanel> </asp:Content>

母版页的CS代码如下: protected void Page_Load(object sender, EventArgs e) { ScriptManager1.RegisterAsyncPostBackControl(this.Button1); } protected void Button1_Click(object sender, EventArgs e) { Label lbl1 = (Label)this.ContentPlaceHolder1.FindControl(“Label1”); lbl1.Text = DateTime.Now.ToString(); Label lbl2 = (Label)this.ContentPlaceHolder2.FindControl(“Label2”); lbl2.Text = DateTime.Now.ToString(); }

public string BindTitle { get { return lbl.Text; } set { lbl.Text = value; } } Child孩子页面的CS代码如下: protected void Button1_Click(object sender, EventArgs e) { Label1.Text = Master.BindTitle; Master.BindTitle = “ContentPage1’s Action”; ((UpdatePanel)Master.FindControl(“UpdatePanel1”)).Update(); ; }

五、用户控件中使用UpdatePanel控件 如果父页面中存在ScriptManager控件,那用户控件的页面中不应再放入ScriptManager控件了,只在用户控件中加入UpdatePanel。 其控件的回发与更新规律与使用方式与母版页一样。

自己查看资料然后总结,若发现不足之处,还请斧正,本人将非常感谢,希望共同学习,共同进步,谢谢。。。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163536.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
UpdatePanel的用法详解
Asp.net UpdatePanel 允许用户构建一个丰富的,以客户端为中心的应用程序,引用UpdatePanel控件,能够实现页面的部分刷新,一个包含scriptManage和 UpdatePanel控件的页面自动具有页面部分刷新的功能,不需要写任何的客户端JavaScript代码。一个web页面只能包含一个 ScriptManage控件,但可以包含一个或多个UpdatePanel控件。
全栈程序员站长
2022/09/06
7700
UpdatePanel简单用法
ScriptManager和UpdatePanel控件联合使用可以实现页面异步局部更新的效果。其中的UpdatePanel就是设置页面中异步局部更新区域,它必须依赖于ScriptManager存在,因为ScriptManger控件提供了客户端脚本生成与管理UpdatePanel的功 能。
全栈程序员站长
2022/09/15
7300
AJAX控件UpdatePanel使用详解
UpdatePanel可以用来创建丰富的局部更新Web应用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一个控件,其强大之处在于不用编写任何客户端脚本,只要在一个页面上添加几个UpdatePanel控件和一个ScriptManager控件就可以自实现一.
阳光岛主
2019/02/19
1.1K0
UpdatePanel用法详解
本文转自:http://www.cnblogs.com/shangxia/articles/2281782.html
全栈程序员站长
2022/09/15
4070
ASP.NET AJAX(3)__UpdatePanel
今天也不知道写不写的完了,最近闲下来了,却感冒了,早上起来都不会说话了,不过幸亏咱不是靠嘴皮子过活了,哎~~~~窃喜吧 上一篇简单写到UpdatePanel的一些好处和坏处,这一篇呢,就细致的认识一下UpdatePanel这个控件,并合理的使用它 UpdatePanel的一些属性 : RenderMode     __Block(默认值):设定UpdatePanel使用DIV来圈出要跟新的区域     __Inline:设定UpdatePanel使用span来。。。。。。 UpdateMode  
小白哥哥
2018/03/07
5K0
ASP.NET AJAX(3)__UpdatePanel
UpdatePanel的简单用法(非嵌套)「建议收藏」
ScriptManager和UpdatePanel控件联合使用可以实现页面局部异步刷新的效果。UpdatePanel用来设置页面中局部异步刷新的区域,它必须依赖于ScriptManager,因为ScriptManager控件提供了客户端脚本生成与管理UpdatePanel的功能。
全栈程序员站长
2022/09/15
9910
Ajax之三 Ajax服务器端控件
Ajax Extensions是Asp.NetAJAX框架的核心组件,只有使用它提供的服务,才能实现局部刷新和个性化组件的AJAX效果。
张哥编程
2024/12/17
2920
Ajax之三 Ajax服务器端控件
ASP.NET AJAX(15)__构建高性能ASP.NET AJAX应用UpdatePanel的性能问题使用UpdatePanel的注意事项脚本加载避免脚本阻塞页面显示AjaxControlTool
UpdatePanel的性能问题 在UpdatePanle使用的时候,它每次的更新都是将整个页面回送的,而且也会加上一些他更新的标记,所以往往它传递的数据量比传统的PostBack都要多,这其实是违背AJAX减少数据量传输的特点的 使用UpdatePanel的注意事项 在使用UpdatePanel的时候,要只传输必要的内容,使用相对小而细的UpdatePanel,而不是使用大而全的UpdatePanel,在每次PostBack后只需要更新必要的UpdatePanel(将UpdatePanel的UpdateM
小白哥哥
2018/03/07
9420
ASP.NET AJAX UpdatePanel 控件实现剖析
使用ASP.NET AJAX框架我们可以搭建快速响应、具有丰富的用户体验的AJAX Web应用程序,而该框架的UpdatePanel控件则提供了一种非常简单的方式来实现Web页面的局部更新,我们不需要在每次回发的时候都加载整个页面。 那这个控件是如何实现这种局部刷新的哪,透过其实现机制我们可以更清楚其优缺点,便于我们确定其使用场合。本文将重点阐述ASP.NET AJAX控件UpdatePanel的实现机制。 1. ASP.NET AJAX 简介 ASP.NET AJAX是微软在ASP.NET 2.0之上对A
葡萄城控件
2018/01/10
6.9K0
ASP.NET AJAX UpdatePanel 控件实现剖析
ScriptManager.RegisterStartupScript方法[通俗易懂]
Page.ClientScript.RegisterStartupScript(Page.GetType(), “”, “<script>window.open(‘default2.aspx’)</script>”); 如果页面中使用了Ajax ,则上述代码即使执行也无效果。对这种情况我们通常采用: ScriptManager.RegisterStartupScript(this.Button1, this.GetType(), “alertScript”, “window.open(‘default2.aspx’);”, true); 其中第一个参数为要注册脚本的控件ID,试了一下,只要是本页面的就行。 第二个参数为注册脚本控件类型,是控件还是this的GetType()都可以,typeOf(string)也没问题. 第三个脚本函数的名字,随便起。 第四个是脚本内容。 第五个是标明是否再添加脚本标签,如果第四个参数里包含了<script></script>标签,此处则为false,否则为true。
全栈程序员站长
2022/09/14
4880
VS2008(C#)子页嵌套母版页的控件访问方法(一)
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage_MasterPage" %>
阳光岛主
2019/02/19
1.3K0
asp.net中ScriptManager自带Ajax与jQuery事件冲突
问题引诉:最近在使用asp.net自带的无刷新提交ScriptManager时,发现一个问题,就是和我自己用jQuery写的一些事件函数和局部刷新相冲突。通过在网上收索,发现很多人都遇到这个同样的问题。最终还是找到的解决的办法,在此我想将其解决的办法分享出来供大家参考。
小小许
2018/09/20
1.1K0
ScriptManager.RegisterStartupScript 方法
1、ScriptManager.RegisterStartupScript 方法 (Page, Type, String, String, Boolean):
全栈程序员站长
2022/09/09
6930
UpdatePanel Control
原帖地址:http://www.cnblogs.com/caviare/archive/2007/09/21/901500.html
全栈程序员站长
2022/09/15
6700
ContentPlaceHolderID属性
我想在内容页里放个文本框和按钮,然后让他们并排,我加了CSS不行,网上查了说内容页不能使用CSS好像,那应该怎么做才能让他们并排呢?
全栈程序员站长
2022/09/07
5920
ASP.NET AJAX(14)__UpdatePanel与服务器端脚本控件脚本控件的作用脚本控件的指责Extender模型脚本控件和Extender模型在PostBack中保持状态在UpdatePa
脚本控件的作用 ASP.NET AJAX的脚本控件,连接了服务器端和客户端,因为我们(可以)只在服务器端编程,而效果产生在客户端,这就需要我们首先在服务器端编写一个控件类,然后包含一个或几个脚本文件,其中定义了客户端组件,可以让开发人员只在服务端操作控件,而在页面上添加客户端行为 一个典型的脚本控件就是UpdateProgress,我们来看一下它的实现方式 一个UpdateProgress的简单示例 创建一个aspx页面 <%@ Page Language="C#" AutoEventWireup="tru
小白哥哥
2018/03/07
2K0
ASP.NET AJAX(14)__UpdatePanel与服务器端脚本控件脚本控件的作用脚本控件的指责Extender模型脚本控件和Extender模型在PostBack中保持状态在UpdatePa
ScriptManager.RegisterStartupScript()方法
cs中运行某段js代码方式可以是: Page.ClientScript.RegisterStartupScript(Page.GetType(),””,”<script>window.open(‘default2.aspx’)</script>”);
全栈程序员站长
2022/09/09
7750
AJAX中UpdatePanel以及Triggers的使用
1.页面定义:<asp:UpdatePanel ID=”UpdatePanel1″ runat=”server”>
全栈程序员站长
2022/09/15
5620
Gridview行上下移动自己做的一个小例子(第一种方法)
今天没有什么事做,就写了一个GridView行上下移动的小例子。 方法有好多种,我先写第一种。 没有什么技术含量 思路: 把要上移或下移的id 与它的临近行的id进行互换 效果: 前台页面: 1 <
lpxxn
2018/01/31
9020
Gridview行上下移动自己做的一个小例子(第一种方法)
C#进阶-ASP.NET常用控件总结
ASP.NET Panel 控件用于将一组控件组织在一起,并可以通过控件的 Visible 属性来控制它们的可见性。
Damon小智
2024/03/15
3560
C#进阶-ASP.NET常用控件总结
推荐阅读
相关推荐
UpdatePanel的用法详解
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档