ASP.net中的AJAX学习记录五:动态加载用户控件(Calendar控件为例)
2008-12-08 21:45
801 查看
这篇博客主要是一个动态加载用户控件的实例,页面效果是当用户点击按钮时,出现日历控件(用户自定义控件,包括每个月的1日出现“发工资”的提示),对日历进行操作时,不影响整个页面(无刷新),当用户再次点击按钮时,用户控件卸载。以前我的一个日历的实例中也实现了这个效果,但是那时使用的是整体用户控件加载,并且不卸载功能,当用户点击按钮时,出现的日历出现和消失都是采用Visible方法,这无疑加重了页面的负担,今天学习到了这种方法,记录下来,供日后回顾。
首先我们先来布置页面:
1.在网站下添加新项用户控件,默认其页面名:WebUserControl.ascx
2.在WebUserControl.ascx中添加一个日历控件,按照自己喜欢的样式改变其外观。
这里我想说明两个Calendar控件的属性,让我们一起来重温Calendar控件,首先Calendar控件默认可以选择日期,可以使用SelectionMode属性修改这个选择操作,这个属性的值可以是Day(允许在日历中单击某个日期)、DayWeek(允许在日历中单击某个日期,同时可以单击星期旁边的箭头,选择整个星期)、DayWeekMonth(可以选择日期或星期,日历右上角的箭头允许选择整个月)、none(用户不能做任何操作)。接着:day属性的一个有用的功能是,可以把Day属性的IsSelectable设置为false,关闭选择某个日期或日期范围的选项。这个功能在实际开发中,可能会用到,代码如下:
if(e.Day.Date<DateTime.Now)
e.Day.IsSelectable=false;
3.编写每个月1日时日历出现的“发工资”的提示,代码如下:
using System;
2using System.Collections;
3using System.Configuration;
4using System.Data;
5using System.Linq;
6using System.Web;
7using System.Web.Security;
8using System.Web.UI;
9using System.Web.UI.HtmlControls;
10using System.Web.UI.WebControls;
11using System.Web.UI.WebControls.WebParts;
12using System.Xml.Linq;
13
14public partial class WebUserControl : System.Web.UI.UserControl
15<head runat="server">
2 <title>无标题页</title>
3 <script type="text/javascript">
4
7 </script>
8</head>
9<body>
10 <form id="form1" runat="server">
11 <div>
12
13 <asp:ScriptManager ID="ScriptManager1" runat="server">
14 </asp:ScriptManager>
15 <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
16 <ContentTemplate>
17 <input ID="Dynamic_UserControl_Hidden1" type="hidden" runat="server" />
18 <asp:Button ID="Button1" runat="server" Text="…" onclick="Button1_Click" />
19 </ContentTemplate>
20 <Triggers>
21 <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
22 </Triggers>
23 </asp:UpdatePanel>
24 </div>
25 </form>
26</body>
27</html>
28
下面是cs代码,
using System;
2using System.Collections;
3using System.Configuration;
4using System.Data;
5using System.Linq;
6using System.Web;
7using System.Web.Security;
8using System.Web.UI;
9using System.Web.UI.HtmlControls;
10using System.Web.UI.WebControls;
11using System.Web.UI.WebControls.WebParts;
12using System.Xml.Linq;
13
14public partial class DynamicLoadControl : System.Web.UI.Page
15
首先我们先来布置页面:
1.在网站下添加新项用户控件,默认其页面名:WebUserControl.ascx
2.在WebUserControl.ascx中添加一个日历控件,按照自己喜欢的样式改变其外观。
这里我想说明两个Calendar控件的属性,让我们一起来重温Calendar控件,首先Calendar控件默认可以选择日期,可以使用SelectionMode属性修改这个选择操作,这个属性的值可以是Day(允许在日历中单击某个日期)、DayWeek(允许在日历中单击某个日期,同时可以单击星期旁边的箭头,选择整个星期)、DayWeekMonth(可以选择日期或星期,日历右上角的箭头允许选择整个月)、none(用户不能做任何操作)。接着:day属性的一个有用的功能是,可以把Day属性的IsSelectable设置为false,关闭选择某个日期或日期范围的选项。这个功能在实际开发中,可能会用到,代码如下:
if(e.Day.Date<DateTime.Now)
e.Day.IsSelectable=false;
3.编写每个月1日时日历出现的“发工资”的提示,代码如下:
using System;
2using System.Collections;
3using System.Configuration;
4using System.Data;
5using System.Linq;
6using System.Web;
7using System.Web.Security;
8using System.Web.UI;
9using System.Web.UI.HtmlControls;
10using System.Web.UI.WebControls;
11using System.Web.UI.WebControls.WebParts;
12using System.Xml.Linq;
13
14public partial class WebUserControl : System.Web.UI.UserControl
15<head runat="server">
2 <title>无标题页</title>
3 <script type="text/javascript">
4
7 </script>
8</head>
9<body>
10 <form id="form1" runat="server">
11 <div>
12
13 <asp:ScriptManager ID="ScriptManager1" runat="server">
14 </asp:ScriptManager>
15 <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
16 <ContentTemplate>
17 <input ID="Dynamic_UserControl_Hidden1" type="hidden" runat="server" />
18 <asp:Button ID="Button1" runat="server" Text="…" onclick="Button1_Click" />
19 </ContentTemplate>
20 <Triggers>
21 <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
22 </Triggers>
23 </asp:UpdatePanel>
24 </div>
25 </form>
26</body>
27</html>
28
下面是cs代码,
using System;
2using System.Collections;
3using System.Configuration;
4using System.Data;
5using System.Linq;
6using System.Web;
7using System.Web.Security;
8using System.Web.UI;
9using System.Web.UI.HtmlControls;
10using System.Web.UI.WebControls;
11using System.Web.UI.WebControls.WebParts;
12using System.Xml.Linq;
13
14public partial class DynamicLoadControl : System.Web.UI.Page
15
相关文章推荐
- ASP.net中的AJAX学习记录五:动态加载用户控件(Calendar控件为例)
- ASP.net中的AJAX学习记录五:动态加载用户控件(Calendar控件为例)
- ASP.net中的AJAX:动态加载用户控件(Calendar控件为例)
- 使用ASP.NET Ajax 和Web Service动态加载用户控件
- 在ASP.NET中动态加载内容(用户控件和模板)
- Asp.net 动态加载用户自定义控件,并转换成HTML代码
- ASP.net中动态加载用户控件
- Asp.net 2.0 动态加载其他子目录用户控件问题
- 在ASP.NET中动态加载内容(用户控件和模板)
- Asp.net开发心得点滴[动态加载的用户控件使用事件委托,交给页面处理的事件无效问题]
- 在ASP.NET中动态加载内容(用户控件和模板)
- ASP.NET动态加载用户控件,关于后…
- asp.net动态加载用户控件
- 在ASP.NET中动态加载内容(用户控件和模板)
- 关于Asp.net 页面动态加载用户控件,出现“未能加载视图状态”的原因
- ASP.NET动态加载用户控件的实现方法
- ASP.NET动态加载用户控件的实现方法
- ASP.NET动态加载用户控件的页面生成过程
- ASP.NET动态加载用户控件的方法
- ASP.NET动态加载用户控件的实现方法