UpdatePanel2CS.aspx 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  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. }
  47. protected void ExtraShow_Click(object sender, EventArgs e)
  48. {
  49. ChosenDate.Text = ((LinkButton)sender).Text;
  50. }
  51. </script>
  52. <html xmlns="http://www.w3.org/1999/xhtml">
  53. <head id="Head1" runat="server">
  54. <title>Calendar Popup Example</title>
  55. <style type="text/css">
  56. body {
  57. font-family: Tahoma;
  58. }
  59. .PopUpCalendarStyle
  60. {
  61. background-color:lightblue;
  62. position:absolute;
  63. visibility:show;
  64. margin: 15px 0px 0px 10px;
  65. z-index:99;
  66. border: solid 2px black;
  67. }
  68. .UpdatePanelContainer
  69. {
  70. width: 260px;
  71. height:110px;
  72. }
  73. </style>
  74. </head>
  75. <body>
  76. <form id="form1" runat="server">
  77. <asp:ScriptManager ID="ScriptManager1" runat="server" />
  78. <p>
  79. <strong>Latest News</strong>
  80. Due to overwhelming response, we have added two extra shows on
  81. <asp:LinkButton ID="ExtraShow1" runat="server" OnClick="ExtraShow_Click"/> and
  82. <asp:LinkButton ID="ExtraShow2" runat="server" OnClick="ExtraShow_Click"/>.
  83. Don't forget curtain time is at 7:00pm sharp. No late arrivals.
  84. </p>
  85. <hr />
  86. <asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional">
  87. <Triggers>
  88. <asp:AsyncPostBackTrigger ControlID="ExtraShow1" />
  89. <asp:AsyncPostBackTrigger ControlID="ExtraShow2" />
  90. </Triggers>
  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 /><br />
  112. <asp:Button ID="SubmitButton" Text="Check" runat="server" ValidationGroup="RequiredFields" OnClick="SubmitButton_Click" />
  113. <br />
  114. <asp:CompareValidator ID="CompareValidatorDate" runat="server"
  115. ControlToValidate="ChosenDate" ErrorMessage="Choose a date in the future."
  116. Operator="GreaterThanEqual" Type="Date" Display="None" ValidationGroup="RequiredFields" EnableClientScript="False"></asp:CompareValidator>
  117. <asp:RequiredFieldValidator ID="RequiredFieldValidatorDate" runat="server"
  118. ControlToValidate="ChosenDate" Display="None" ErrorMessage="Date is required."
  119. ValidationGroup="RequiredFields" EnableClientScript="False"></asp:RequiredFieldValidator>
  120. <asp:RegularExpressionValidator ID="RegularExpressionValidatorEmail"
  121. runat="server" ControlToValidate="EmailTextBox" Display="None" ValidationGroup="RequiredFields"
  122. ErrorMessage="The email was not correctly formatted." 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>
  123. <asp:RequiredFieldValidator ID="RequiredFieldValidatorEmail" runat="server" ValidationGroup="RequiredFields"
  124. ControlToValidate="EmailTextBox" Display="None" ErrorMessage="Email is required." EnableClientScript="False"></asp:RequiredFieldValidator><br />
  125. <asp:ValidationSummary ID="ValidationSummary1" runat="server"
  126. ValidationGroup="RequiredFields" EnableClientScript="False" />
  127. <asp:Label ID="MessageLabel" runat="server" />
  128. </fieldset>
  129. </ContentTemplate>
  130. </asp:UpdatePanel>
  131. </form>
  132. </body>
  133. </html>