代码示例:在母版页中使用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;
}
}
}
<%...@ 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;
}
}
}
相关文章推荐
- web.py 直接使用示例代码,web.application报错, 'module' object has no attribute 'application',问题原因分析
- android studio 使用gradle批量打渠道包(示例,出错代码)
- Spark的广播变量和累加器使用方法代码示例
- Java四种线程池的介绍及详细使用代码示例
- AJAX代码示例(不使用AJAX控件)
- 在java中使用dom4j解析xml(示例代码)
- Asp.net 2.0 自定义控件开发专题[详细探讨页面状态(视图状态和控件状态)机制及其使用场景](示例代码下载)
- Android使用IntentService进行apk更新示例代码
- setInterval与clearInterval的使用示例代码
- 使用Python的Twisted框架编写非阻塞程序的代码示例
- Extjs4中使用grid的reconfigure()方法动态改变列使用示例(代码)
- 关于SwipeRefreshLayout和RecyclerView混合使用的代码示例
- Regexp使用示例(C++代码)
- java使用dom4j操作xml示例代码
- NET用使用存储过程获取输出参数的代码示例!
- php示例代码之使用MySQLi接口
- php示例代码之使用mysqli对象
- 使用FFTW3做二维DFT的示例代码
- 使用$.getJSON实现跨域ajax请求示例代码
- jQuery中使用Ajax获取JSON格式数据示例代码