文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>ASP.net中的AJAX:动态加载用户控件(Calendar控件为例)

ASP.net中的AJAX:动态加载用户控件(Calendar控件为例)

时间:2010-08-30  来源:蔚蓝的大海

这篇文章主要是一个动态加载用户控件的实例,页面效果是当用户点击按钮时,出现日历控件(用户自定义控件,包括每个月的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日时日历出现的“发工资”的提示,代码如下:

  日历提示功能代码

 

代码 1using 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{
16  protected void Page_Load(object sender, EventArgs e)
17  {
18
19  }
20  //DayRender:日历中显示的每一天都会运行该方法。
21  protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
22  {
23    //单元格的垂直对齐方式为top
24    e.Cell.VerticalAlign = VerticalAlign.Top;
25    if (e.Day.DayNumberText == "1")
26    {
27      e.Cell.Controls.Add(new LiteralControl ("<p>发工资</p>"));
28      e.Cell.BorderColor = System.Drawing.Color.Black;
29      e.Cell.BorderWidth = 1;
30      e.Cell.BorderStyle = BorderStyle.Double;
31      e.Cell.BackColor = System.Drawing.Color.LightGray;
32    }
33  }
34}

 

4.新建一个AJAX窗口,命名为:DynamicLoadControl.aspx,在页面中放置一个Updatepanel1。

  5.在Updatepanel1中放入一个Button1,text=“…”(18行)。

  6. 在Updatepanel1中放入一个html的hidden控件,将其改为服务器控件,id改为:Dynamic_UserControl_Hidden1(17行)。

  页面布局介绍,下面我们来看一下DynamicLoadControl.aspx的客户端代

代码 <head runat="server">
  <title>无标题页</title>
  <script type="text/javascript"> 
   function pageLoad() {
   }
  
  </script>
</head>
<body>
  <form id="form1" runat="server">
  <div>
  
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
      <ContentTemplate>
        <input ID="Dynamic_UserControl_Hidden1" type="hidden" runat="server" />
        <asp:Button ID="Button1" runat="server" Text="…" onclick="Button1_Click" />        
      </ContentTemplate>
      <Triggers>
        <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
      </Triggers>
</asp:UpdatePanel>
</div>
  </form>
</body>
</html>

 

 

 

下面是cs代码,

  动态加载用户控件代码

 

代码 1using 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{
16  protected void Page_Load(object sender, EventArgs e)
17  {
18   
19  }
20  //这个方法先于page_load之前执行,也在控件初始化前执行
21  protected void Page_Init(object sender, EventArgs e)
22  {
23    //从送来的参数中,判断用户控件是否已经加载,"Dynamic_UserControl_Hidden1"是个标志,
24    //为true时,代表用户控件存在,初次加载页面时,表示是false,故没有用户控件出现在网页上
25    if (Request.Params["Dynamic_UserControl_Hidden1"] == " true")
26      LoadDynamicUserControl();
27
28  }
29  //点击按钮出现用户自定义控件
30  protected void Button1_Click(object sender, EventArgs e)
31  {
32    //当用户自定义控件(标志为true)存在时,就移除到自定义控件,同时标志改为false。
33    if (Request.Params["Dynamic_UserControl_Hidden1"] == "true")
34    {
35      UpdatePanel1.ContentTemplateContainer.Controls.Remove(UpdatePanel1.ContentTemplateContainer.FindControl("WebUserControl1"));
36      HtmlInputHidden hidden = (HtmlInputHidden)UpdatePanel1.ContentTemplateContainer.FindControl("Dynamic_UserControl_Hidden1");
37      hidden.Value = "false";
38
39    }
40      //否则就加载用户自定义控件
41    else
42      LoadDynamicUserControl();
43  }
44  //加载用户自定义控件
45  private void LoadDynamicUserControl()
46  {
47    //当Updatepanel中没有用户控件时
48    if (UpdatePanel1.ContentTemplateContainer.FindControl("WebUserControl1") == null)
49    {
50      //根据指定的WebUserControl.ascx路径加载控件WebUserControl1
51      Control c = LoadControl("WebUserControl.ascx");
52      c.ID = "WebUserControl1";
53      //找到标志将其值改为true
54      HtmlInputHidden hidden =(HtmlInputHidden ) UpdatePanel1.ContentTemplateContainer.FindControl("Dynamic_UserControl_Hidden1");
55      hidden.Value = "true";
56      //在Updatepanel中加入用户控件
57      UpdatePanel1.ContentTemplateContainer.Controls.Add(c);   
58    }
59  }
60  
61}
      高质量的.NET空间,完美支持1.0/2.0/3.5/MVC等

Wooden 256Mb USB 2.0 Flash Memory DriveUSB A Male to USB A Male + Mini USB 5 pin Male Cable90W chager adapter with 8 renewable DC plugs ZM series 5V 4A 12V 4A 124*56*43 mm8*BNC F and 8*RCA F to 25 pin Male HD VGA Video Audio Monitor CableColor Leather 256Mb USB 2.0 Flash Storage Drive With ChainBlock Shaped 4Gb USB 2.0 Flash Storage Drive4*BNC Female and 4*RCA Female to 25 pin Male HD VGA Video Audio Monitor CableUSB 2.0 2.5" SATA HARD DISK DRIVE HDD CASE EnclosureIDE to SATA adapter card high-speed plug and play serial ATA standard transmission card5*BNC F to 15 pin M HD VGA Video Audio Monitor CableSamsung 10P straight head USB connector cellphone connector mobile connectorUSB 3.0 2.5" SATA Hard Disk Drive Enclosure/Case/CaddyHDMI to 2*DVI adapter connector with long life time OEMBar Shaped 10 Ports USB 2.0 Hub for PC LaptopSamsung 10,12,14P straight head USB connector cellphone connector mobile connectorIPOD 30P welding on board(L=23.0mm) connector cellphone connector usb adapter mobile phone connectorLG 12P Male assembly connector cellphone connector LG mobile phone connectorMini 18P Male wire solder USB connector mini usb port type cellphone connector adapterBeige White IEEE 1394 Firewire Cable, IEEE 1394 Firewire 4Pin Male to MaleUSB A/F to Mini 5P Male adapter with long life time connector OEMHDMI 19P/F SMT single ear HDMI high definition data plug HDMI connector1Gb USB 2.0 Flash MemorySmart cable with function description usb mobile devices charger card reader hangs giftNew 100W DC 12V to AC 220V USB car power inverter adapter 762 LPD-100 seriesBlack 512Mb USB 2.0 Flash Storage DriveDC to Mini 8p charging head adapter with long life time connector OEMLG 18P main body connector cellphone connector LG mobile phone connectorDVI 18+1 Male heightening type finished DVI plug DVI connectorCool Ratatable 512Mb USB 2.0 Flash Storage Drive3.5" IDE Hard Drive Enclosure Case USB + Firewire 1394Mini 5P B/F 180° DIP USB connector cellphone connector mini usb connector usb extension adapterLG 18P straight handle1 connector cellphone connector LG mobile phone connectorBNC Male to Female adapter connector with long life time OEMEDUP 54M ADSL wireless router wireless lan card WLAN card with perantal managementIPHONE/IPOD adapter connector with long life time OEM originalDVI24+1 Female 90° right angle 2 DVI plug DVI connector pin DVI connectorUSB 54M wireless lan card built-in smart antenna seamingless roaming DSSS WLANMini 5P A/F SMT USB connector cellphone USB connector mini usb port adapterMini 4P B/M USB connector OEM usb plug socket adapterHDMI HDMI-01C(with ear) HDMI 19P/F four feet HDMI high definition data plug HDMI connectorDVI24+5 Female wire solder 180°plug connector pin OEM adapter connectorUSB 3.0 A Male to A Female Extension Cable Blue for PrinterRotatable Wooden 4Gb USB 2.0 Flash Memory DriveWooden 8Gb USB 2.0 Flash Memory Drive with BoxUSB Cable for Printer Beige White256Mb USB 2.0 Flash MemoryPCI parallel port card support plug and play PCI cardDVI24+5 Male 180°heightening type plugboard connector pin OEM adapter connectorBeautiful Color Fish Like 7 Ports USB 2.0 Hub for PC LaptopUSB A/F SMT short body connector ( L=13.6mm) RoHS compliant adapter connector
相关阅读 更多 +
排行榜 更多 +
盒子小镇2游戏手机版下载

盒子小镇2游戏手机版下载

冒险解谜 下载
世界盒子模组版下载最新版本

世界盒子模组版下载最新版本

模拟经营 下载
音乐搜索app最新版本下载

音乐搜索app最新版本下载

趣味娱乐 下载