单击按钮时,如何显示日历需要做什么?

时间:2011-09-06 09:19:57

标签: c# asp.net .net datetime

我正在尝试点击按钮(...)时弹出的日历,但是我被困住了,不知道自己该做什么。以下是我正在使用的代码。我使用visual studio 2010和C#作为我的编程语言。

<asp:textbox id="TextBox1" runat="server"></asp:textbox>
<input type="button" id="Button2" runat="server" value="...."><br>
<asp:Panel id="pnlCalendar" runat="server" 
     style="POSITION: absolute">
 <asp:calendar id="Calendar3" runat="server" CellPadding="4" 
      BorderColor="#999999" Font-Names="Verdana" Font-Size="8pt" 
      Height="180px" ForeColor="Black" DayNameFormat="FirstLetter" 
      Width="200px" BackColor="White">
  <TodayDayStyle ForeColor="Black" BackColor="#CCCCCC"></TodayDayStyle>
  <SelectorStyle BackColor="#CCCCCC"></SelectorStyle>
  <NextPrevStyle VerticalAlign="Bottom"></NextPrevStyle>
  <DayHeaderStyle Font-Size="7pt" Font-Bold="True" BackColor="#CCCCCC">
  </DayHeaderStyle>
  <SelectedDayStyle Font-Bold="True" ForeColor="White" BackColor="#666666">
  </SelectedDayStyle>
  <TitleStyle Font-Bold="True" BorderColor="Black" BackColor="#999999">
  </TitleStyle>
  <WeekendDayStyle BackColor="LightSteelBlue"></WeekendDayStyle>
  <OtherMonthDayStyle ForeColor="#808080"></OtherMonthDayStyle>
 </asp:calendar>
</asp:Panel>

This is generated with my code

4 个答案:

答案 0 :(得分:4)

ASP.NET日历很难以这种方式使用。更简单的方法是使用AJAX CalendarJQuery DatePicker

答案 1 :(得分:0)

您可以考虑使用jQuery UI Date picker ...灵活的客户端,使用NuGet进行设置需要两分钟

将NuGet安装到VS并输入Install-Package jQuery.UI.Combined

包含所需的javascript库,按照示例进行操作,你很高兴;)

答案 2 :(得分:0)

如果您真的想在服务器端进行,那么这就是您可以做的。

bool showCalendar = false;
protected void Page_Load(object sender, EventArgs e)
{
    if (showCalendar)
        Calendar1.Visible = true;
    else
        Calendar1.Visible = false;
}

protected void Button1_Click(object sender, EventArgs e)
{
    Calendar1.Visible = true;
}

基本上将Calendar.Visible设置为false,当用户点击按钮时将其设置为true但是一旦设置为true ..它实际上并没有弹出,而是使用回发添加控件

答案 3 :(得分:0)

当有人点击文字字段本身时,您就可以这样做。

        <asp:Label ID="lblDate"  runat="server" Text="Date :"></asp:Label>
        <asp:TextBox ID="txtDate" runat="server" ></asp:TextBox> YYYY-MM-DD
        <asp:CalendarExtender ID="CalendarExtender1" TargetControlID="txtDate" runat="server" Format="yyyy-MM-dd">
        </asp:CalendarExtender>