您的位置:首页 > Web前端 > JavaScript

ASP.net中的AJAX学习记录七:用javaScript来更新Updatepanel

2008-12-09 23:08 537 查看
Updatepanel的刷新,除了使用之前在Updatepanel的Triggers中加入controlID外,还有一种上一篇用到过的方法update()函数,这篇博客我学习到另一种方法,用JavaScript中的__doPostBack()(两条下划线)来实现,我们达到的页面效果是,当点击Button1时,Updatepanel1中的label就获取系统时间。
注: __ dopostback这个前台函数的功能,主要是用于web控件的postback,它是通过__eventTraget,__eventArgument两个隐藏控件向服务端发送控制信息的。
页面布局:1.在页面中拖放scriptmanager1。
2.放入Updatepanel1,将Updatepanel1的UpdateMode=conditional。
3.在Updatepanel1中,放入一个label1。
4.在Updatepanel1的外部放入一个html的Button1.
页面的源代码如下:当点击Button1时,引发__ dopostback函数,致使页面刷新。

1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4<head runat="server">
5 <title>无标题页</title>
6</head>
7<body>
8 <form id="form1" runat="server">
9 <div >
10 <asp:ScriptManager ID="ScriptManager1" runat="server">
11
12 </asp:ScriptManager>
13 <script language ="javascript">
ComfirmRefresh() ComfirmRefresh()
15 {
16 if(confirm("你确认要刷新吗?"))
17 {
18 //第一个参数是你希望提交到服务器的控件的ID号,第二个参数是事件参数
19 __doPostBack("UpdatePanel1","Refresh");
20 }
21 }
22 </script>
23 <input id="Button1" type="button" value="button" onclick="ComfirmRefresh()" />
24 <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode ="Conditional">
25 <ContentTemplate>
26 <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
27 </ContentTemplate>
28 </asp:UpdatePanel>
29 </div>
30 </form>
31</body>
32</html>

cs代码如下:

1public partial class _Default : System.Web.UI.Page
2 {
3 protected void Page_Load(object sender, EventArgs e)
4 { //当前ScriptManager1回发的值是AsyncPostback并且导致ScriptManager1的异步回发事件的控件为UpdatePanel1时。
5 if (ScriptManager1.IsInAsyncPostBack && ScriptManager1.AsyncPostBackSourceElementID == "UpdatePanel1")
6 //label1获取系统当前时间。
7 Label1.Text = DateTime.Now.ToString();
8 }
9 }本文出自 “叶子文文” 博客,转载请与作者联系!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐