我正在尝试点击按钮(...)时弹出的日历,但是我被困住了,不知道自己该做什么。以下是我正在使用的代码。我使用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>
答案 0 :(得分:4)
ASP.NET日历很难以这种方式使用。更简单的方法是使用AJAX Calendar或JQuery 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>