您的位置:首页 > 编程语言

代码示例:在母版页中使用UpdatePanel

2007-06-10 15:46 801 查看
母板页ASPX代码:

 




<%...@ Master Language="C#" AutoEventWireup="true" CodeBehind="AjaxMaster.master.cs" Inherits="UpdatepanelInManage.AjaxMaster" %>




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">




<html xmlns="http://www.w3.org/1999/xhtml" >


<head runat="server">


    <title>Untitled Page</title>


</head>


<body>


    <form id="form1" runat="server">


    <div>


        <asp:ScriptManager ID="ScriptManager1" runat="server">


        </asp:ScriptManager>


        Change Date


        <asp:Button ID="DecrementButton" runat="server" Text="-" OnClick="MasterButton_Click" />


        <asp:Button ID="IncrementButton" runat="server" Text="+" OnClick="MasterButton_Click" />


        <hr />


        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">


        </asp:ContentPlaceHolder>


    </div>


    </form>


</body>


</html>



 母板页后台C#代码:

 


using System;


using System.Data;


using System.Configuration;


using System.Collections;


using System.Web;


using System.Web.Security;


using System.Web.UI;


using System.Web.UI.WebControls;


using System.Web.UI.WebControls.WebParts;


using System.Web.UI.HtmlControls;




namespace UpdatepanelInManage




...{


    public partial class AjaxMaster : System.Web.UI.MasterPage




    ...{


        public int Offset




        ...{


            get




            ...{ 


                return (int)(ViewState["Offset"] ?? 0); 


            }




            set




            ...{ 


                ViewState["Offset"] = value; 


            }


        }




        protected void Page_Load(object sender, EventArgs e)




        ...{


            ScriptManager1.RegisterAsyncPostBackControl(DecrementButton);


            ScriptManager1.RegisterAsyncPostBackControl(IncrementButton);


        }




        protected void MasterButton_Click(object sender, EventArgs e)




        ...{


            switch (((Control)sender).ID)




            ...{


                case "IncrementButton":


                    this.Offset = this.Offset + 1;


                    break;


                case "DecrementButton":


                    this.Offset = this.Offset - 1;


                    break;


            }


            ((UpdatePanel)ContentPlaceHolder1.FindControl("UpdatePanel1")).Update();


            Calendar cal = ((Calendar)ContentPlaceHolder1.FindControl("Calendar1"));


            DateTime newDateTime = DateTime.Today.Add(new TimeSpan(Offset, 0, 0, 0));


            cal.SelectedDate = newDateTime;


        }


    }


}



ContentPage ASPX页面代码:

 




<%...@ Page Language="C#" MasterPageFile="~/AjaxMaster.Master" AutoEventWireup="true" CodeBehind="Content.aspx.cs" Inherits="UpdatepanelInManage.Content" Title="Untitled Page" %>




 <%...@ MasterType VirtualPath="AjaxMaster.Master" %>


<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">


    Content Page<br />


    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">


        <ContentTemplate>


            <asp:Calendar ID="Calendar1" runat="server" OnSelectionChanged="Calendar1_SelectionChanged"></asp:Calendar>


        </ContentTemplate>


    </asp:UpdatePanel>


</asp:Content>



 

ContentPage 后台C#代码:

 


using System;


using System.Data;


using System.Configuration;


using System.Collections;


using System.Web;


using System.Web.Security;


using System.Web.UI;


using System.Web.UI.WebControls;


using System.Web.UI.WebControls.WebParts;


using System.Web.UI.HtmlControls;




namespace UpdatepanelInManage




...{


    public partial class Content : System.Web.UI.Page




    ...{


        protected void Page_Load(object sender, EventArgs e)




        ...{


            DateTime newDateTime =


            DateTime.Today.Add(new TimeSpan(Master.Offset, 0, 0, 0));


            Calendar1.SelectedDate = newDateTime;


        }




        protected void Calendar1_SelectionChanged(object sender, EventArgs e)




        ...{


            DateTime selectedDate = Calendar1.SelectedDate;


            //添加@ MasterType标记到页面中,以便可以作为强类型属性引用Master Page页面的Offset属性


            // <%@ MasterType VirtualPath="AjaxMaster.Master" %>


            Master.Offset = ((TimeSpan)Calendar1.SelectedDate.Subtract(DateTime.Today)).Days;


        }


    }


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息