У меня есть календарь asp, который работает нормально, но когда я добавляю кнопку asp для отправки значений текстового поля в форме, календарь показывает только текущий месяц, кнопки предыдущего и следующего месяца не работают.
<form id = "form1" runat = "server">
<div>
<asp:Calendar ID = "cal2" runat = "server" Width = "50%" DayField = "Date" OnDayRender = "Calendar1_DayRender"
BackColor = "Orange" NextMonthText = "Next" PrevMonthText = "Prev" OnVisibleMonthChanged = "Calendar1_VisibleMonthChanged" >
<DayStyle CssClass = "days" VerticalAlign = "Top" Font-Name = "Arial" Width = "100px" Height = "100px" BackColor = "lightYellow" />
<TodayDayStyle BackColor = "Orange" />
<OtherMonthDayStyle BackColor = "LightGray" ForeColor = "DarkGray"/>
</asp:Calendar>
</div>
<asp:Button ID = "submit" CssClass = "login" runat = "server" Text = "Submit" OnClick = "Submit_click" />
</form>
У меня есть текстовые поля, которые я отправил обратно на сервер, и для этого мне нужно использовать кнопку asp, как я могу предотвратить отключение функций календаря? заранее спасибо
Проблема в названии (ID) вашей кнопки. Компонент Calender использует внутренний (javascript) вызов form.submit (), введение кнопки с этим идентификатором прерывает этот вызов.
Пример исправления:
<asp:Button ID = "MySubmit" CssClass = "login" runat = "server" Text = "Submit" OnClick = "Submit_click" />
(This is not unique to the Calendar component, in general you should not name your buttons "submit" in ASP.NET unless you know exactly what you are doing)
Истинно (частично для суффиксов), хотя обычно это связано с конфликтом идентификатора ASP с именами в код позади, а не с битами javascript фреймворка.
Это определенно более полезное соглашение о коде программной части, поскольку дальше по строке больше не нужно угадывать типы управления для неоднозначных идентификаторов. Но именно этот вопрос является очень хорошим примером хороших привычек, имеющих непредвиденные положительные последствия :) Кстати, хороший ответ!
В связи с этим, иногда лучше всего ставить перед идентификаторами ASP-элементов их тип.
btnSubmit
,ddlUser
,txtFirstName
и др.