この割り当てで私が行き詰っている部分は次のとおりです。ユーザーは、「州」フィールド (標準のテキスト ボックス) に州の略語を入力する必要があります。ただし、テキストボックスに入力された文字が有効な州の略語であることを確認する必要があります。そこで、50 州すべての配列を作成し、カスタム バリデーターを使用してユーザー入力を受け入れ、for ループを使用して 50 州すべての略語と比較しました。しかし、イベント (stateArrayCheck) の定義を作成しているとわかっていても、まだ作成していないというエラーが表示されます。私はこのプロジェクトでやるべきことがもっとたくさんあるので、割り当てのこの部分に行き詰まるのは本当にイライラします. これが私のコードです:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script>
void stateArrayCheck (Object source, ServerValidateEventArgs args)
{
string[] states = new string[49];
states[0] = "AL";
states[1] = "AK";
...
states[48] = "WI";
states[49] = "WY
for(int i=0, i <= states.count, i++)
{
if(valState.text != states[i])
{
Response.Write("Please enter a valid US state.";
}
}
}
</script>
<style>
#name {
float: left;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div id ="name">
<asp:Label id="lblFirstName" Text="First Name:" AssociatedControlID="txtFirstName" Runat="server" />
<asp:TextBox id="txtFirstName" Runat="server" />
<asp:RequiredFieldValidator id="reqFirstName" ControlToValidate="txtFirstName" Text="(Required)" Runat="server" />
</div>
<div>
<asp:Label id="lastName" text="Last Name:" runat="server" />
<asp:TextBox id="txtLastName" Runat="server" />
<asp:RequiredFieldValidator id="reqLastName" ControlToValidate="txtLastName" Text="(Required)"Runat="server" />
<asp:Label id="city" text="City:" runat="server" />
<asp:TextBox id="txtCity" Runat="server" />
<asp:RequiredFieldValidator id="reqCity" ControlToValidate="txtCity" Text="(Required)" Runat="server" />
<asp:Label id="state" text="State:" runat="server" />
<asp:TextBox id="valState" MaxLength="2" Width="20" Runat="server" />
<asp:CustomValidator id="reqState" ControlToValidate="valState" OnServerValidate="stateArrayCheck" Text="(Required)" Runat="server" />
</div>
</form>
</body>
</html>
あなたはバリデーターの大ファンではないかもしれません。私の先生もそうではありませんが、この課題には必要です。どんな助けでも大歓迎です。ありがとうございました。