ASP.net中的AJAX學習記錄七:用javaScript來更新Updatepanel

來源:互聯網
上載者:User

     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函數,致使頁面重新整理。

注意__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">
14    function  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>
33

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}
10

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.