1: | How do Web forms keep track of viewstate? |
A1: | Through hidden form variables. |
2: | What does the state bag do, and how do you access it? |
A1: | The state bag allows you to store custom values (values that aren't entered in controls) between form posts. You can access it through the ViewState variable: ViewState("MyItem") = MyValue |
3: | True or false: Events in Web forms are processed before the Page_Load event. |
A1: | False. The Page_Load event is always processed first, followed by the events, in no particular order. |
4: | What is the standard event parameter list? |
A1: | (Sender as Object, e as EventArgs) |
5: | What is the importance of the runat="server" tag? |
A1: | This tag converts an HTML element to a server control. Without it, the server couldn't keep track of controls, the viewstate wouldn't be maintained, and you couldn't have programmatic access to the control on the server. This is a key element of Web forms. |
6: | Why should you use HTML server controls? |
A1: | To convert existing HTML elements into server controls that you can manipulate through code. |
7: | What's wrong with the following code snippet? <asp:Button Click="HandleThis" > |
A1: | It's missing the runat="server" attribute. The event declaration should read OnClick="HandleThis". And there's no closing tag: </asp:Button>. |
8: | Which property can be used to make a control post immediately to the server upon an event? |
A1: | AutoPostBack |
9: | When should you use Web controls instead of HTML server controls? |
A1: | Anytime you create new Web forms (that is, when you're not converting old pages). |
1: | Build an application for choosing a baby's name. The user will select the sex of the baby, and then a ListBox will display a few possible names. When the user selects a name, a message will be displayed using the selected name. |
A1: | The code is as follows: 1: <%@ Page Language="VB" %> 2: 3: <script runat="server"> 4: sub ChangeNames(Sender as Object, e as EventArgs) 5: if rlSex.SelectedIndex = 0 then 6: 'female 7: lbNames.Items(0).Text = "Sally" 8: lbNames.Items(1).Text = "Sara" 9: lbNames.Items(2).Text = "Hope" 10: lbNames.Items(3).Text = "Kaylee" 11: else 12: 'male 13: lbNames.Items(0).Text = "John" 14: lbNames.Items(1).Text = "Chris" 15: lbNames.Items(2).Text = "Daniel" 16: lbNames.Items(3).Text = "Walter" 17: end if 18: end sub 19: 20: sub DisplayMessage(Sender as Object, e as EventArgs) 21: lblMessage.Text = Sender.SelectedItem.Text & _ 22: " is a wonderful name!" 23: end sub 24: 25: </script> 26: 27: <html><body> 28: <form runat="server"> 29: <asp:Label runat="server"/><p> 30: 31: Choose the sex of your baby: 32: <asp:RadioButtonList runat="server" 33: OnSelectedIndexChanged="ChangeNames" 34: AutoPostBack="true" > 35: <asp:ListItem>Female</asp:ListItem> 36: <asp:ListItem>Male</asp:ListItem> 37: </asp:RadioButtonList><p> 38: 39: Possible names:<br> 40: <asp:ListBox runat="server" 41: OnSelectedIndexChanged="DisplayMessage" 42: AutoPostBack="true" > 43: <asp:ListItem></asp:ListItem> 44: <asp:ListItem></asp:ListItem> 45: <asp:ListItem></asp:ListItem> 46: <asp:ListItem></asp:ListItem> 47: </asp:ListBox><p> 48: 49: </form> 50: </body></html> |
2: | Build a standard user registration page with the following fields: name (required), address, phone (required), fax, and e-mail address (required). If any of the required values are missing, display an error message to the user. |
A1: | The code is as follows: 1: <%@ Page Language="VB" %> 2: 3: <script runat="server"> 4: sub Submit(Sender as Object, e as EventArgs) 5: if tbName.Text = "" then 6: lblMessage.Text = "You forgot your name!<br>" 7: end if 8: if tbPhone.Text = "" then 9: lblMessage.Text += "You forgot your phone!<br>" 10: end if 11: if tbEmail.Text = "" then 12: lblMessage.Text += "You forgot your email!<br>" 13: end if 14: 15: if lblMessage.Text = "" then 16: lblMessage.Text = "Your information has been " & _ 17: "submitted!" 18: end if 19: 20: 21: end sub 22: </script> 23: 24: <html><body> 25: Please enter the following information.<p> 26: 27: <asp:Label runat="server"/> 28: <form runat="server"> 29: <table cellpadding="2" cellspacing="2" border="1"> 30: <tr> 31: <td width="250">Name* </td> 32: <td width="150"> 33: <asp:TextBox runat="server"/> 34: </td> 35: </tr> 36: <tr> 37: <td>Address</td> 38: <td> 39: <asp:TextBox runat="server"/> 40: </td> 41: </tr> 42: <tr> 43: <td>Phone* (area code first)</td> 44: <td> 45: <asp:TextBox runat="server"/> 46: </td> 47: </tr> 48: <tr> 49: <td>Fax (area code first)</td> 50: <td> 51: <asp:TextBox runat="server"/> 52: </td> 53: </tr> 54: <tr> 55: <td>Email*</td> 56: <td> 57: <asp:TextBox runat="server"/> 58: </td> 59: </tr> 60: <tr> 61: <td colspan="2"> 62: <asp:Button runat="server" 63: Text="Submit" 64: OnClick="Submit" /> 65: </td> 66: </tr> 67: </table> 68: <p> 69: <i>An asterisk (*) indicates a required field.</i> 70: </form> 71: </body></html> |