在ASP.NET中实现弹出日历的具体方法

这篇文章介绍了ASP.NET弹出日历功能的实现方法,有需要的朋友可以参考一下
 

ctlCalendar.ascx的源代码:

复制代码 代码如下:

<%@ Control Language="c#" AutoEventWireup="false" Codebehind="ctlCalendar.ascx.cs" Inherits="calendar.ctlCalendar" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" enableViewState="True"%>
<asp:textbox id="TextBox1" runat="server"></asp:textbox>
<input type="button" id="Button1" runat="server" value="..."><br>
<asp:Panel id="pnlCalendar" runat="server" style="POSITION: absolute">
 <asp:calendar id="Calendar1" runat="server" FirstDayOfWeek="Monday" ShowGridLines="True" BackColor="White"
  DayNameFormat="Full" ForeColor="Black" Font-Size="8pt" Font-Names="Verdana" BorderColor="#999999"
  CellPadding="4" Width="200px" Height="180px">
  <TodayDayStyle ForeColor="Black" BackColor="#CCCCCC"></TodayDayStyle>
  <SelectorStyle BackColor="#CCCCCC"></SelectorStyle>
  <DayStyle Wrap="False" BorderStyle="Dashed"></DayStyle>
  <NextPrevStyle VerticalAlign="Bottom"></NextPrevStyle>
  <DayHeaderStyle Font-Size="X-Small" Font-Names="宋体" Wrap="False" BorderStyle="Dashed" BackColor="#CCCCCC"></DayHeaderStyle>
  <SelectedDayStyle Font-Bold="True" ForeColor="White" BackColor="#666666"></SelectedDayStyle>
  <TitleStyle Font-Size="Small" Font-Bold="True" BorderStyle="Solid" BorderColor="Black" BackColor="#999999"></TitleStyle>
  <WeekendDayStyle BackColor="LightSteelBlue"></WeekendDayStyle>
  <OtherMonthDayStyle ForeColor="Gray"></OtherMonthDayStyle>
 </asp:calendar>
</asp:Panel>

ctlCalendar.ascx.cs的源代码:

复制代码 代码如下:

namespace calendar
{
 using System;
 using System.Data;
 using System.Drawing;
 using System.Web;
 using System.Web.UI.WebControls;
 using System.Web.UI.HtmlControls;
 /// <summary>
 ///  ctlCalendar 的摘要说明。
 /// </summary>
 public class ctlCalendar : System.Web.UI.UserControl
 {
  protected System.Web.UI.WebControls.TextBox TextBox1;
  protected System.Web.UI.WebControls.Panel pnlCalendar;
  protected System.Web.UI.HtmlControls.HtmlInputButton Button1;
  protected System.Web.UI.WebControls.Calendar Calendar1;
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   if (!Page.IsPostBack)
   {
    this.TextBox1.Text = System.DateTime.Now.ToShortDateString();
    this.pnlCalendar.Attributes.Add("style","DISPLAY: none; POSITION: absolute");
   }
   else
   {
    string id = Page.Request.Form["__EVENTTARGET"].Substring(0,Page.Request.Form["__EVENTTARGET"].IndexOf(":"));
    if (id != this.ID)
    {
     this.pnlCalendar.Attributes.Add("style","DISPLAY: none; POSITION: absolute");
    }
    else
    {
     this.pnlCalendar.Attributes.Add("style","POSITION: absolute");
    }
   }
   Page.RegisterClientScriptBlock("Script_Panel" + this.ID,
    "<script> function On"+this.ID+"Click() {  if("+this.ID+
"_pnlCalendar.style.display == "none")     "+this.ID+
"_pnlCalendar.style.display = "";   else    "+this.ID+
"_pnlCalendar.style.display = "none"; } </script>");  
   this.Button1.Attributes.Add("OnClick","On"+this.ID+"Click()");
  }
  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  /// <summary>
  ///  设计器支持所需的方法 - 不要使用代码编辑器
  ///  修改此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {
   this.Calendar1.SelectionChanged += new System.EventHandler(this.Calendar1_SelectionChanged);
   this.Load += new System.EventHandler(this.Page_Load);
  }
  #endregion
  #region 日历选择时的事件
  private void Calendar1_SelectionChanged(object sender, System.EventArgs e)
  {
   this.TextBox1.Text = Calendar1.SelectedDate.ToShortDateString();
   this.pnlCalendar.Attributes.Add("style","DISPLAY: none; POSITION: absolute");
  }
  #endregion
 }
}

时间: 2024-10-01 15:31:58

在ASP.NET中实现弹出日历的具体方法的相关文章

在ASP.NET中实现弹出日历的具体方法_实用技巧

ctlCalendar.ascx的源代码: 复制代码 代码如下: <%@ Control Language="c#" AutoEventWireup="false" Codebehind="ctlCalendar.ascx.cs" Inherits="calendar.ctlCalendar" TargetSchema="http://schemas.microsoft.com/intellisense/ie5

ASP.NET中实现弹出日历示例_实用技巧

在.net中弹出日历的方法有很多种,这里介绍直接使用.net来实例,我们当然还可以使用js日历来实例哦,下面我分别简单举两个实例吧.有需要的朋友可以了解一下. 代码如下: <%@ Control Language="c#" AutoEventWireup="false" Codebehind="ctlCalendar.ascx.cs" Inherits="calendar.ctlCalendar" TargetSchem

在ASP.NET中实现弹出日历

asp.net|日历 ctlCalendar.ascx的源代码: <%@ Control Language="c#" AutoEventWireup="false" Codebehind="ctlCalendar.ascx.cs" Inherits="calendar.ctlCalendar" TargetSchema="http://schemas.microsoft.com/intellisense/ie5

ASP.NET中网页弹出窗口的方法

由于项目要用到弹出窗口,或者叫做模拟窗口,这段时间就研究了下,解决方案很多,比如,window.open();window.showDialog();用层模拟,框架+DIV+Javascript.... 用window.open():这种方法的缺点是,会被浏览器或者相关软件给屏蔽掉.用层模拟的话,如果想实现较复杂点的窗口,就比较困难,第三种方法是综合了所有的网页制作知识,可以提供个很好的解决方案.但是,第三种实现起来,对于Javascript知识不够的人来说,很难完成.前段时间在网上逛的时候,发

jQuery在iframe中无法弹出对话框的解决方法

如果在iframe中使用则弹不出对话框,而有时候我们还必须得使用iframe而不能用jQuery的load方式,下面有个不错的处理方法,希望对大家有所帮助 jQuery的弹出框使用很方便,但是如果在iframe中使用则弹不出对话框,而有时候我们还必须得使用iframe而不能用jQuery的load方式,这个时候就需要处理这个问题. 其实也非常简单,思路就是让iframe的父窗口弹出这个对话框.例如: parent.confirmDialog(); 这样就可以用了.不是什么有技术含量的问题,记下来

jQuery在iframe中无法弹出对话框的解决方法_jquery

jQuery的弹出框使用很方便,但是如果在iframe中使用则弹不出对话框,而有时候我们还必须得使用iframe而不能用jQuery的load方式,这个时候就需要处理这个问题. 其实也非常简单,思路就是让iframe的父窗口弹出这个对话框.例如: parent.confirmDialog(); 这样就可以用了.不是什么有技术含量的问题,记下来,防止忘记.

fckeditor在ie9中无法弹出对话框的解决方法(弹出层兼容问题)_网页编辑器

所以无论是想在页面编辑器里粘贴内容,还是上传图片等凡是需要弹出窗口操作的东西都会有问题,想要进行其它的操作也只能重新刷新页面.原因是 IE 9 不支持var $=document.getElementById;这样的写法了. 解决方法可以这么来做: 打开这个文件, fckeditor/editor/js/fckeditorcode_ie.js ,找到第 38行的这个方法:FCKTools.RegisterDollarFunction 将原来的 复制代码 代码如下: FCKTools.Regist

asp.net网站设计弹出对话框问题

问题描述 asp.net网站设计弹出对话框问题 我想要实现的是 点击注册 并且选择的是 管理员注册的时候 会弹出一个对话框,让你输入一个密码 才可以实现管理员的注册 要怎么办? 解决方案 图片忘记传了](http://img.ask.csdn.net/upload/201604/17/1460901466_946383.jpg) 解决方案二: 很多人在问,关于弹出对话框的问题,现总结如下:一:使用js脚本????? Response.Write("window.alert(/"Hell

JSF中confirm弹出框的用法示例介绍

 本文为大家详细介绍下JSF中confirm弹出框的使用方法,感兴趣的朋友可以参考下   代码如下: function checkInput(objectSource) {  if(objectSource.onclick){  objectSource.oldOnClick = objectSource.onclick;  objectSource.onclick = null;  }    var attachfile = $('#attachment').val();  if(conten