×

updatepanel pan

updatepanel(post提交中如何使用updatepanel)

admin admin 发表于2024-02-10 05:19:04 浏览33 评论0

抢沙发发表评论

“updatepanel”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看updatepanel(post提交中如何使用updatepanel)!

本文目录

post提交中如何使用updatepanel

updatepanel 这个玩意 我倒是没有用过。。但是个人觉得 Jquery 的 Ajax 或者 Ajax2.0的dll 已经够用了。。 这2个使用起来都蛮简单的嘛。拿Jquery 来的ajax说。你要实现分页的话。你完全可以通过JS 处理。 将页码什么的通过 JQUERY 的ajax 传到后台。(后台需要你写一个handler处理数据) 然后返回数据就可以了嘛。(一般数据格式是 JSON 字符串)

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到底怎么用啊,怎么用怎么不合适啊!!!!

《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(post提交中如何使用updatepanel)”的所有内容了,希望可以帮助到你。如果对我们网站的其他内容感兴趣请持续关注本站。