UpdatePanel3CS.aspx 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <%@ Page Language="C#" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <script runat="server">
  5. protected void ChosenDate_TextChanged(object sender, EventArgs e)
  6. {
  7. DateTime dt = new DateTime();
  8. DateTime.TryParse(ChosenDate.Text, out dt);
  9. CalendarPicker.SelectedDate = dt;
  10. CalendarPicker.VisibleDate = dt;
  11. }
  12. protected void Close_Click(object sender, EventArgs e)
  13. {
  14. SetDateSelectionAndVisible();
  15. }
  16. protected void ShowDatePickerPopOut_Click(object sender, ImageClickEventArgs e)
  17. {
  18. DatePickerPopOut.Visible = !DatePickerPopOut.Visible;
  19. }
  20. protected void CalendarPicker_SelectionChanged(object sender, EventArgs e)
  21. {
  22. SetDateSelectionAndVisible();
  23. }
  24. private void SetDateSelectionAndVisible()
  25. {
  26. if (CalendarPicker.SelectedDates.Count != 0)
  27. ChosenDate.Text = CalendarPicker.SelectedDate.ToShortDateString();
  28. DatePickerPopOut.Visible = false;
  29. }
  30. protected void SubmitButton_Click(object sender, EventArgs e)
  31. {
  32. if (Page.IsValid)
  33. {
  34. MessageLabel.Text = "An email with availability was sent.";
  35. }
  36. else
  37. {
  38. MessageLabel.Text = "";
  39. }
  40. }
  41. protected void Page_Load(object sender, EventArgs e)
  42. {
  43. CompareValidatorDate.ValueToCompare = DateTime.Today.ToShortDateString();
  44. ExtraShow1.Text = DateTime.Today.AddDays(10.0).ToShortDateString();
  45. ExtraShow2.Text = DateTime.Today.AddDays(11.0).ToShortDateString();
  46. ScriptManager1.RegisterAsyncPostBackControl(ExtraShow1);
  47. ScriptManager1.RegisterAsyncPostBackControl(ExtraShow2);
  48. }
  49. protected void ExtraShow_Click(object sender, EventArgs e)
  50. {
  51. ChosenDate.Text = ((LinkButton)sender).Text;
  52. UpdatePanel1.Update();
  53. }
  54. </script>
  55. <html xmlns="http://www.w3.org/1999/xhtml">
  56. <head id="Head1" runat="server">
  57. <title>Calendar Popup Example</title>
  58. <style type="text/css">
  59. body {
  60. font-family: Tahoma;
  61. }
  62. .PopUpCalendarStyle
  63. {
  64. background-color:lightblue;
  65. position:absolute;
  66. visibility:show;
  67. margin: 15px 0px 0px 10px;
  68. z-index:99;
  69. border: solid 2px black;
  70. }
  71. .UpdatePanelContainer
  72. {
  73. width: 260px;
  74. height:110px;
  75. }
  76. </style>
  77. </head>
  78. <body>
  79. <form id="form1" runat="server">
  80. <asp:ScriptManager ID="ScriptManager1" runat="server" />
  81. <p>
  82. <strong>Latest News</strong> Due to overwhelming response, we
  83. have added two extra shows on
  84. <asp:LinkButton ID="ExtraShow1" runat="server" OnClick="ExtraShow_Click" />
  85. and
  86. <asp:LinkButton ID="ExtraShow2" runat="server" OnClick="ExtraShow_Click" />.
  87. Don't forget curtain time is at 7:00pm sharp. No late arrivals.
  88. </p>
  89. <hr />
  90. <asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional">
  91. <ContentTemplate>
  92. <fieldset id="FieldSet1" class="FieldSetStyle" runat="server">
  93. <legend>Check Ticket Availability</legend>Date
  94. <asp:TextBox runat="server" ID="ChosenDate" OnTextChanged="ChosenDate_TextChanged" />
  95. <asp:ImageButton runat="server" ID="ShowDatePickerPopOut" OnClick="ShowDatePickerPopOut_Click"
  96. ImageUrl="../images/calendar.gif" AlternateText="Choose a date."
  97. Height="20px" Width="20px" />
  98. <asp:Panel ID="DatePickerPopOut" CssClass="PopUpCalendarStyle"
  99. Visible="false" runat="server">
  100. <asp:Calendar ID="CalendarPicker" runat="server" OnSelectionChanged="CalendarPicker_SelectionChanged">
  101. </asp:Calendar>
  102. <br />
  103. <asp:LinkButton ID="CloseDatePickerPopOut" runat="server" Font-Size="small"
  104. OnClick="Close_Click" ToolTip="Close Pop out">
  105. Close
  106. </asp:LinkButton>
  107. </asp:Panel>
  108. <br />
  109. Email
  110. <asp:TextBox runat="server" ID="EmailTextBox" />
  111. <br />
  112. <br />
  113. <asp:Button ID="SubmitButton" Text="Check" runat="server" ValidationGroup="RequiredFields"
  114. OnClick="SubmitButton_Click" />
  115. <br />
  116. <asp:CompareValidator ID="CompareValidatorDate" runat="server"
  117. ControlToValidate="ChosenDate" ErrorMessage="Choose a date in the future."
  118. Operator="GreaterThanEqual" Type="Date" Display="None" ValidationGroup="RequiredFields" EnableClientScript="False"></asp:CompareValidator>
  119. <asp:RequiredFieldValidator ID="RequiredFieldValidatorDate" runat="server"
  120. ControlToValidate="ChosenDate" Display="None" ErrorMessage="Date is required."
  121. ValidationGroup="RequiredFields" EnableClientScript="False"></asp:RequiredFieldValidator>
  122. <asp:RegularExpressionValidator ID="RegularExpressionValidatorEmail"
  123. runat="server" ControlToValidate="EmailTextBox" Display="None"
  124. ValidationGroup="RequiredFields" ErrorMessage="The email was not correctly formatted."
  125. ValidationExpression="^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$" EnableClientScript="False"></asp:RegularExpressionValidator>
  126. <asp:RequiredFieldValidator ID="RequiredFieldValidatorEmail"
  127. runat="server" ValidationGroup="RequiredFields" ControlToValidate="EmailTextBox"
  128. Display="None" ErrorMessage="Email is required." EnableClientScript="False"></asp:RequiredFieldValidator><br />
  129. <asp:ValidationSummary ID="ValidationSummary1" runat="server"
  130. ValidationGroup="RequiredFields" EnableClientScript="False" />
  131. <asp:Label ID="MessageLabel" runat="server" />
  132. </fieldset>
  133. </ContentTemplate>
  134. </asp:UpdatePanel>
  135. </form>
  136. </body>
  137. </html>