本文目录
- post提交中如何使用updatepanel
- updatepanel使用
- scriptmanager 和UpdatePanel
- updatepanel控件到底如何实现局部刷新的
- updatepanel怎么用
- 菜鸟问题,使用updatepanel与不使用的区别(我只知道updatepanel是什么局部更新)
- 关于UpdatePanel的问题
- UpdatePanel到底怎么用啊,怎么用怎么不合适啊!!!!
- updatepanel不能局部更新
post提交中如何使用updatepanel
updatepanel 这个玩意 我倒是没有用过。。但是个人觉得 Jquery 的 Ajax 或者 Ajax2.0的dll 已经够用了。。 这2个使用起来都蛮简单的嘛。拿Jquery 来的ajax说。你要实现分页的话。你完全可以通过JS 处理。 将页码什么的通过 JQUERY 的ajax 传到后台。(后台需要你写一个handler处理数据) 然后返回数据就可以了嘛。(一般数据格式是 JSON 字符串)
updatepanel使用
updatepanel1的updatemode设为Conditional然后方法一:把updatepanel1的trigger设置成updatepanel2里的button如果不行的话就用方法二:在button的后台代码结束加上updatepanel2.update();
scriptmanager 和UpdatePanel
ScriptManager和UpdatePanel控件联合使用可以实现页面异步局部更新的效果。其中的UpdatePanel就是设置页面中异步局部更新区域,它必须依赖于ScriptManager存在,因为ScriptManger控件提供了客户端脚本生成与管理UpdatePanel的功能。 几个重要的属性: ScriptManager控件的EnablePartialRendering属性:true-实现页面的异步局部更新;false-实现全页面的刷新。 UpdatePanel控件的RenderMode属性:InLine-UpdatePanel控件被解析成HTML的《span》标记;Block-UpdatePanel控件被解析成HTML控件的《DIV》。 UpdatePanel控件的UpdateMode属性:Always-UpdatePanel页面上任何一处发生的回发操作都会产生页局部更新;Conditional-只在特定的情况下才产页面的回发,如执行UpdatePanel控件的update()方法或在指定的触发器的操作下。 UpdatePanel控件的ChildAsTrigger属性:指示UpdatePanel内部控件引起的回发是否产生当前UpdatePanel控件的局部更新。如果UpdateMode设为Always的话,那ChildAsTrigger局性必须设为True,否则运行出错。 一、UpdatePanel内部的控件引起的回发,来更新当前UpdatePanel内部的控件内容: 1.向页面中加入ScriptManager、UpdatePanel控件和一个Label控件(Label2)。 2.在UpdatePanel中加入一个Button、一个Label(Label1)。 3.双击Button在事件处理程序中写入下列代码:Label1.Text = DateTime.Now.ToString(); 4.在Page_Load事件中写入下列代码:Label2.Text = DateTime.Now.ToString(); 5.运行页面,发现每次点击按钮都会产生异步局步刷新,只有Label1的内容发生更改,页面上的Label2时间没有发生更改。 代码如下: 《asp:Label ID=“Label2“ 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=“Label1“ 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) { Label1.Text = DateTime.Now.ToString(); ; } protected void Page_Load(object sender, EventArgs e) { Label2.Text = DateTime.Now.ToString(); } 注意:此时的ScriptManager的EnablePartialRendering属性应设为true。UpdatePanel的UpdateMode属性应设为Always。ChildAsTrigger属性应设为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,如果还是Always的话,会出现所有的UpdatePanel都刷新的效果。 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“ /》 这里需要大家注意的是: 把所有的UpdatePanel控件的UpdateMode设为“Conditional“,这样才能够针对建有相关触发器的UpdatePanel更新。 一个UpdatePanel上可以建有多个触发器,实现在不同的情况下对该UpdatePanel控件内容的更新。 三、两个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(); } 四、两个UpdatePanel控件,其中一个UpdatePanel内的控件引发当前的UpdatePanel控件的刷新,而另一个不刷新。 a.步骤和上面的(三)一样 b.要把UpdatePanel1和UpdatePanel2两个控件的UpdateMode属性设为Conditional 《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.步骤和上面的(四)一样 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=“更新两个UpdatePanel“ /》 《/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局部刷新的使用ScriptManager和UpdatePanel控件联合使用可以实现页面异步局部更新的效果。其中的UpdatePanel就是设置页面中异 步局部更新区域,它必须依赖于ScriptManager存在,因为ScriptManger控件提供了客户端脚本生成与管理UpdatePanel的功能。
updatepanel怎么用
里的是局部更新的控件。 比如 你后台btn_onclick里写 TB_VisitDateTime=DateTime.Now.ToString(); 这样你每点一下按钮,文本框里就会更新当前时间,这个过程不刷新页面。 再比如,你把textbox换成datagrid,点按钮时重新绑定datagrid,那么这个...
菜鸟问题,使用updatepanel与不使用的区别(我只知道updatepanel是什么局部更新)
其实是封装了ajax技术而成的一种控件,其目的是实现局部刷新。一般触发服务器控件是都会回发从而刷新整个页面,造成服务器资源的浪费,如果数据量大的话,服务器的承受压力很大,最终会造成页面半天打不开。采用了updatepanel后,他只刷新updatepanel内的数据,从而避免整个页面刷新,用户效果很好。下面是使用updatepanel的一些使用方法:需要在这控件之前加上 scriptManager 控件UpdatePanel 控制页面的局部更新,这个更新功能依赖于scriptManger控件的EnablePartialRendering属性,如果这个属性设置为false局部更新会失去作用(scriptManger 控件的EnablePartialRendering属性的默认值为true不必刻意去设置) 主要属性: 1. ChildrenAsTriggers : 内容模板内的子控件的回发是否更新本模板(和UpdateMode的conditional有关) 2. UpdateMode : 内容模板的更新模式,有always和conditional两种 always:每次ajax PostBack或者普通的PostBack都能引起panel的更新 如果UpdatePanel设置为Always时,不能使用上面的ChildrenAsTriggers属性,强行使用会报错,是updatepanel默认的更新模式,和设置trigger触发器没有直接的关系。 conditional:只有当前UpdatePanel的Trigger,或ChildrenAsTriggers属性为true时当前UpdatePanel中控件引发的异步回送或者整页回送,或是服务器端调用Update()方法才会引发更新该UpdatePanel。只有满足如下某一条件时才更新panel的内容 :如果设置UpdateMode=“conditional“ ChildrenAsTriggers=“false“时候,子控件不允许触发更新 1). 当panel中的某个控件引发PostBack时 2). 当Panel指定的某个Trigger被引发时 3). RenderMode: 局部更新控件的呈现形式两中:Block(局部更新在客户端以div形式展现)和Inline(局部更新以span的形式展现在客户端) 子元素: 1. contentTemplate: 局部更新控件的内容模板,可以在其中添加任何控件 2. Triggers: 局部更新的触发器,包括俩中:异步回发(AsyncPostBackTrigger) 用来实现局部更新。普通回发(PostBackTrigger)和普通的一养,不管是否使用了局部更新控件,都会引起页面的全部更新。 AsyncPostBackTrigge用来指定某个服务器端控件以及其将触发的服务器端事件作为该UpdatePanel的异步更新触发器,它需要设置的属性有控件ID和服务端控件的事件; PostBackTrigger用来指定在UpdatePanel中的某个服务端控件,它所引发的回送不使用异步回送,而仍然是传统的整页回送
关于UpdatePanel的问题
UPDATEPANEL是一个服务器控件,如果CHECKBOX不产生回发的话,服务器没有接到请求是不会有任何反应的,也不会对UPDATEPANEL进行任何处理。
UpdatePanel到底怎么用啊,怎么用怎么不合适啊!!!!
《ContentTemplate》《/ContentTemplate》里的是局部更新的控件。比如《ContentTemplate》《asp:TextBox ID=“TB_VisitDateTime“ runat=“server“ 》《/asp:TextBox》《asp:Button id=“btn“ runat=“server“ onclick=“btn_onclick“》《/asp:button》《/ContentTemplate》你后台btn_onclick里写TB_VisitDateTime=DateTime.Now.ToString();这样你每点一下按钮,文本框里就会更新当前时间,这个过程不刷新页面。再比如,你把textbox换成datagrid,点按钮时重新绑定datagrid,那么这个过程也是不刷新的,控件的用法和普通ASP.NET一样。只是套在ContentTemplate里的不刷新了。
updatepanel不能局部更新
能局部刷新的,我都用了很久了 《asp:ScriptManager ID=“ScriptManager1“ runat=“server“》 《/asp:ScriptManager》 《asp:UpdatePanel ID=“UpdatePanel1“ runat=“server“》 《ContentTemplate》 《asp:Label ID=“Label1“ runat=“server“ Text=““》《/asp:Label》 《br /》 《asp:Button ID=“Button2“ runat=“server“ Text=“刷新上面的时间“ /》 《/ContentTemplate》 《/asp:UpdatePanel》 《br /》 《asp:Label ID=“Label2“ runat=“server“ Text=“Label“》《/asp:Label》protected void Page_Load(object sender, EventArgs e) { this.Label1.Text = DateTime.Now.ToString(); this.Label2.Text = DateTime.Now.ToString(); }你试试看,能实现局部刷新效果的。