Я пытаюсь создать веб-форму, используя asp.net.
При нажатии связанной кнопки (внутри повторителя) должен появиться календарь. Предполагается, что дата, выбранная в календаре, заполняет текстовое поле «Дата начала».
Это один предмет внутри Repeater1:
<td>
<asp:TextBox runat="server" ID="txtStart" Text='<%# DataBinder.Eval(Container.DataItem,"StartDate") %>' />
<asp:LinkButton ID="btnCalendar" runat="server"
CssClass="btn btn-xs"OnClick="ShowCalendar">
<span aria-hidden="true" class="glyphicon glyphicon-calendar"></span>
</asp:LinkButton>
</td>
После всех других предметов, вот календарь:
<asp:Calendar ID="Calendar1" runat="server" Visibile="false" SelectionMode="Day" onselectionchanged="Calendar1_SelectionChanged">
</asp:Calendar>
Код позади:
protected void Calendar1_SelectionChanged(object sender, EventArgs e){
if (Repeater1.Items.Count == 1)
{
TextBox txtStart = (TextBox)Repeater1.Items[0].FindControl("txtStart");
DateTimeFormatInfo usDtfi = new CultureInfo("en-US", false).DateTimeFormat;
txtStart.Text = Calendar1.SelectedDate.ToString("yyyymmdd");
}
Этот код просто добавляет текст к первому элементу повторителя
Моя проблема:
Выбранная дата календаря дает мне правильные год и дату, но дает мне значение "00" для месяца
Это ссылка на скриншот части моей веб-формы, которая проблематична
Спасибо!