これが私の Web フォームです。名は必須ですが、プログラムを実行して FirstName フィールドを空白のままにしても、調査への回答に感謝するページが表示されます。名が必要であることがわかります。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Cheese.aspx.cs" Inherits="WebApplication1.Cheese" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form2" runat="server">
<div style="width: 37px">
<asp:Panel ID="PanelNameForm" runat="server" Width="502px">
<asp:Label ID="LabelFirstName" runat="server" Text="First Name"></asp:Label>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="RequiredFieldValidator" ControlToValidate="TextBoxFirstName"></asp:RequiredFieldValidator>
<asp:TextBox ID="TextBoxFirstName" runat="server"></asp:TextBox>
<asp:Label ID="LabelLastName" runat="server" Text="Last Name"></asp:Label>
<asp:TextBox ID="TextBoxLastName" runat="server"></asp:TextBox> <br />
<asp:Label ID="LabelAddr1" runat="server" Text="Address"></asp:Label>
<asp:TextBox ID="TextBoxAddr1" runat="server"></asp:TextBox>
<asp:Label ID="LabelAddr2" runat="server" Text="Address"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
City<asp:TextBox ID="TextBoxAddr2" runat="server"></asp:TextBox>
State<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
Zip<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<br />
Phone Number<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
email<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
Age<asp:DropDownList ID="DropDownList2" runat="server">
<asp:ListItem Value="1">0-17</asp:ListItem>
<asp:ListItem Value="2">18-21</asp:ListItem>
<asp:ListItem Value="3">22-25</asp:ListItem>
<asp:ListItem Value="4">26-35</asp:ListItem>
<asp:ListItem Value="5">36+</asp:ListItem>
</asp:DropDownList>
<asp:Panel ID="Panel1" runat="server" Width="407px">
Gender<asp:RadioButtonList ID="RadioButtonList1" runat="server">
<asp:ListItem Value="Male">Male</asp:ListItem>
<asp:ListItem Value="Female">Female</asp:ListItem>
</asp:RadioButtonList>
Favorite Cheese<asp:TextBox ID="TextBox6" runat="server"></asp:TextBox>
<br />
How often do you eat cheese? (Check one)<asp:CheckBoxList ID="CheckBoxList1" runat="server">
<asp:ListItem>Every Day</asp:ListItem>
<asp:ListItem>Every Other Day</asp:ListItem>
<asp:ListItem>Once A Week</asp:ListItem>
<asp:ListItem>I Don't Like Cheese</asp:ListItem>
</asp:CheckBoxList>
Cheese Texture Preferences (Check All That Apply)<asp:CheckBoxList ID="CheckBoxList2" runat="server">
<asp:ListItem Value="1">Hard</asp:ListItem>
<asp:ListItem Value="2">Semi-hard</asp:ListItem>
<asp:ListItem Value="3">Semi-soft</asp:ListItem>
<asp:ListItem Value="4">Soft</asp:ListItem>
<asp:ListItem Value="5">Crumbly</asp:ListItem>
</asp:CheckBoxList>
Milk Type Preferences (Check All That Apply)<asp:CheckBoxList ID="CheckBoxList3" runat="server">
<asp:ListItem>Buffalo</asp:ListItem>
<asp:ListItem>Cow</asp:ListItem>
<asp:ListItem>Goat</asp:ListItem>
<asp:ListItem>Vegetarian</asp:ListItem>
</asp:CheckBoxList>
<asp:Button ID="Button" runat="server" Text="Submit" OnClick="Button_Click" />
</asp:Panel>
</asp:Panel>
<asp:Panel ID="PanelThankYou" runat="server" Width="442px">
Thank you for taking the survey, <asp:Label ID="LabelThankYouName" runat="server" Text=""></asp:Label>
</asp:Panel>
</div>
</form>
</body>
</html>
送信ボタンのコードは次のとおりです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class Cheese : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!(Page.IsPostBack))
{
//first time page is loaded
PanelThankYou.Visible = false;
}
else
{
}
}
protected void Button_Click(object sender, EventArgs e)
{
PanelNameForm.Visible = false;
PanelThankYou.Visible = true;
LabelThankYouName.Text = TextBoxFirstName.Text + " " + TextBoxLastName.Text + "!";
}
}
}