服务端 System.Web.UI.WebControls.Calendar cdate 日期选择组件需要在客户端脚本控制 此组件的可见与不可见,去值,赋值 !急 !

解决方案 »

  1.   

    document.all("Panel1").style.visible=true;
    document.all("Panel1").visible=true;
      

  2.   

    document.all("Panel1").style.display="none";
      

  3.   

    设置可见与否可以将Calendar放到div中,用js控制js的显示
    function showOrHideCalendar()
    {
       var div=document.getElementById("calendarDiv");
       if(div)
      {
         if(div.style.display='')
         {
             div.style.display='none'; 
         }
         else
         {
             div.style.display='';         
         }
      }
    }
      

  4.   

    取值,赋值需要找到calendar生存的html元素,控制其html元素即可
      

  5.   

    document.all("Panel1").style.display="none";
      

  6.   

    我刚好有!
    var popUp; function OpenCalendar(idname, postBack)
    {
    popUp = window.open('Calendar.aspx?formname=' + document.forms[0].name + 
    '&id=' + idname + '&selected=' + document.forms[0].elements[idname].value + '&postBack=' + postBack, 
    'popupcal', 
    'width = 265,height = 260,left= 250,top= 250');
    }function SetDate(formName, id, newDate, postBack)
    {
    eval('var theform = document.' + formName + ';');
    popUp.close();
    theform.elements[id].value = newDate;
    if (postBack)
    __doPostBack(id,'');

    }
      

  7.   

    <%@ Page language="c#" Codebehind="Calendar.aspx.cs" AutoEventWireup="false" Inherits="Webs.caseManage.Calendar" %>
    <HTML>
    <HEAD>
    <title>Calendar</title>
    <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    <link href="../styles.css" type="text/css" rel="stylesheet">
    <script language="javascript">
    function CloseWindow()
    {
    self.close();
    }
    </script>
    </HEAD>
    <body bgColor="#ffffff" leftMargin="5" topMargin="5">
    <form id="Calendar" method="post" runat="server">
    <table cellSpacing="0" cellPadding="0" width="100%" border="0">
    <tr bgColor="white">
    <td colspan="2"><img src="images/spacer.gif" height="10" width="1"></td>
    </tr>
    <tr bgColor="white">
    <td align="center" colSpan="2">
    <asp:dropdownlist id="ddlMonth" runat="server" CssClass="standard-text" Height="22px" Width="90px"
    AutoPostBack="True"></asp:dropdownlist>&nbsp;
    <asp:dropdownlist id="ddlYear" runat="server" CssClass="standard-text" Height="22px" Width="60px"
    AutoPostBack="True"></asp:dropdownlist>
    <asp:calendar id="Cal" runat="server" BorderWidth="5px" ShowTitle="False" ShowNextPrevMonth="False"
    BorderStyle="Solid" Font-Size="XX-Small" Font-Names="Arial" BorderColor="White" DayNameFormat="FirstTwoLetters"
    ForeColor="#C0C0FF" FirstDayOfWeek="Monday" CssClass="standard-text">
    <todaydaystyle Font-Bold="True" ForeColor="White" BackColor="#990000"></todaydaystyle>
    <daystyle BorderWidth="2px" ForeColor="#666666" BorderStyle="Solid" BorderColor="White" BackColor="#EAEAEA"></daystyle>
    <dayheaderstyle ForeColor="#649CBA"></dayheaderstyle>
    <selecteddaystyle Font-Bold="True" ForeColor="#333333" BackColor="#FAAD50"></selecteddaystyle>
    <weekenddaystyle ForeColor="White" BackColor="#BBBBBB"></weekenddaystyle>
    <othermonthdaystyle ForeColor="#666666" BackColor="White"></othermonthdaystyle>
    </asp:calendar>
    </td>
    </tr>
    <tr>
    <td align="center" colSpan="2">
    Date Selected:
    <asp:label id="lblDate" runat="server"></asp:label>
    <input id="datechosen" type="hidden" name="datechosen" runat="server">
    </td>
    </tr>
    <tr>
    <td colspan="2"><img src="images/spacer.gif" height="10" width="1"></td>
    </tr>
    <tr>
    <td align="right">
    <asp:button id="OKButton" runat="server" Text="OK" Width="60px"></asp:button>
    </td>
    <td align="left">
    <a href="javascript:CloseWindow()">
    <asp:button id="CancelButton" runat="server" Text="Cancel" Width="60px"></asp:button>
    </a>
    </td>
    </tr>
    </table>
    </form>
    </body>
    </HTML>
      

  8.   

    把此组件放在一个DIV里,然后用javascript控制,比如:
    <div id="myControl">
    ...你的组件...
    </div>要在客户端显示时:document.getElementById("myControl").style.display = "";
    不要显示时:document.getElementById("myControl").style.display = "none";
      

  9.   

    using System;
    //using System.Collections;
    //using System.ComponentModel;
    //using System.Data;
    //using System.Drawing;
    using System.Web;
    //using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Configuration;namespace Webs.caseManage
    {
    /// <summary>
    /// Calendar 的摘要说明。
    /// </summary>
    public class Calendar : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.DropDownList ddlYear;
    protected System.Web.UI.WebControls.Calendar Cal;
    protected System.Web.UI.WebControls.Label lblDate;
    protected System.Web.UI.WebControls.Button OKButton;
    protected System.Web.UI.WebControls.Button CancelButton;
    protected System.Web.UI.WebControls.DropDownList ddlMonth;
    protected System.Web.UI.HtmlControls.HtmlInputHidden datechosen; private void Page_Load(object sender, System.EventArgs e)
    {
    if (!Page.IsPostBack)
    {
    string selected = Request.QueryString["selected"];
    string id = Request.QueryString["id"];
    string form = Request.QueryString["formname"];
    string postBack = Request.QueryString["postBack"];

    Cal.FirstDayOfWeek = (System.Web.UI.WebControls.FirstDayOfWeek)1;//(System.Web.UI.WebControls.FirstDayOfWeek)Convert.ToInt32(ConfigurationSettings.AppSettings[Global.CfgKeyFirstDayOfWeek]);

    try
    {
    Cal.SelectedDate = Cal.VisibleDate = Convert.ToDateTime(selected);
    }
    catch
    {
    Cal.SelectedDate = Cal.VisibleDate = DateTime.Today;
    }

    FillCalendarChoices();
    SelectCorrectValues(); OKButton.Attributes.Add("onClick", "window.opener.SetDate('" + form + "','" + id + "', document.Calendar.datechosen.value," + postBack + ");");
    CancelButton.Attributes.Add("onClick", "CloseWindow()");
    }
    } private void FillCalendarChoices()
    {
    DateTime thisdate = new DateTime(DateTime.Today.Year,1,1);
    for (int x=0; x<12; x++)
    {
    ListItem li = new ListItem(thisdate.ToString("MMMM"), thisdate.Month.ToString());
    ddlMonth.Items.Add(li);
    thisdate = thisdate.AddMonths(1);
    } for (int y=2000; y <= thisdate.Year + 5; y++)
    {
    ddlYear.Items.Add(y.ToString());
    }
    }
     
    private void SelectCorrectValues()
    {
    lblDate.Text = Cal.SelectedDate.ToShortDateString();
    datechosen.Value = lblDate.Text;
    ddlMonth.SelectedIndex = ddlMonth.Items.IndexOf(ddlMonth.Items.FindByValue(Cal.SelectedDate.Month.ToString()));
    ddlYear.SelectedIndex = ddlYear.Items.IndexOf(ddlYear.Items.FindByValue(Cal.SelectedDate.Year.ToString()));
    } #region Web Form Designer generated code
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: This call is required by the ASP.NET Web Form Designer.
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {    
    this.ddlMonth.SelectedIndexChanged += new System.EventHandler(this.ddlMonth_SelectedIndexChanged);
    this.ddlYear.SelectedIndexChanged += new System.EventHandler(this.ddlYear_SelectedIndexChanged);
    this.Cal.SelectionChanged += new System.EventHandler(this.Cal_SelectionChanged);
    this.OKButton.Click += new System.EventHandler(this.OKButton_Click);
    this.ID = "Calendar";
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion private void Cal_SelectionChanged(object sender, System.EventArgs e)
    {
    Cal.VisibleDate = Cal.SelectedDate;
    SelectCorrectValues();
    } private void ddlMonth_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    Cal.SelectedDate = Cal.VisibleDate 
    = new DateTime(Convert.ToInt32(ddlYear.SelectedItem.Value), 
    Convert.ToInt32(ddlMonth.SelectedItem.Value), 1);;
    SelectCorrectValues();
    } private void ddlYear_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    Cal.SelectedDate = Cal.VisibleDate 
    = new DateTime(Convert.ToInt32(ddlYear.SelectedItem.Value), 
    Convert.ToInt32(ddlMonth.SelectedItem.Value), 1);;
    SelectCorrectValues();
    } private void OKButton_Click(object sender, System.EventArgs e)
    {

    }
    }
    }
      

  10.   

    调用javascrpit脚本的代码示例:<asp:textbox id="txtBeginTime" runat="server" Width="72px" ToolTip=" " BorderStyle="Groove" ReadOnly="True"></asp:textbox><A href="javascript:OpenCalendar('txtBeginTime', true)"><IMG src="../images/icon-calendar.gif" border="0"></A>
      

  11.   

    greennetboy(我的老婆叫静静)正解