Часть этого задания, за которое я застрял, заключается в следующем: пользователь должен ввести аббревиатуру состояния в поле «Состояние» (которое является стандартным текстовым полем). Тем не менее, я должен убедиться, что символы, введенные в текстовое поле, являются допустимым аббревиатурой состояния. Поэтому я создаю массив из всех 50 состояний, а затем использовал пользовательский валидатор, чтобы принять пользовательский ввод и сравнить его со всеми 50 сокращениями состояний, используя цикл for. Тем не менее, я получаю сообщение об ошибке, которое говорит, что я не создал определение для события (stateArrayCheck), хотя я знаю, что у меня есть! У меня есть намного больше работы над этим проектом, так что это действительно расстраивает то, что вы застряли в этой части задания. Вот мой код:Использование массивов и элементов управления проверки в C# ASP.NET
<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>
Я знаю, что вы не можете быть большим поклонником валидаторов. Мой учитель тоже нет, но они требуются для этого задания. Любая помощь была бы высоко оценена. Спасибо.
Сценарий на стороне сервера будет идентифицирован атрибутом 'runat =" server ". Вам нужно добавить этот атрибут в тег '