..
Часто, при передаче данных через форму, желательно, чтобы не предоставить пользователю очень длинную форму, чтобы не отбить у него охоту составления казалось бы, длительный и сложный для этой цели, поэтому желательно, чтобы разделить свою форму в несколько этапов должны быть представлены в определенной последовательности.
Как правило, вы используете, чтобы связать - в каждом блоке - данные в соответствии, например, pottrebbe регистрационной форме распределены следующим образом: имя пользователя, пароль и электронную почту в первый блок блок, персональные данные в другой блок и так далее.
. Благодаря встроенным функциям NET Framework, ASP.NET очень проста в достижении такой системы, в которой, в пределах той же странице, происходит следующее:
Мы приходим к практическим примером, начиная с HTML, правильно построенный через сервер управления. NET:
<form runat="server"> <p> <asp:literal id="numero" runat="server"/> </ P> <p> <asp:TextBox id="uno" runat="server"/> </ P> <p> <asp:Button runat="server" id="c1" text="Continua" onclick="Step1"/> </ P> <p> <asp:TextBox id="due" runat="server"/> </ P> <p> <asp:Button runat="server" id="c2" text="Continua" onclick="Step2"/> </ P> <p> <asp:TextBox id="tre" runat="server"/> </ P> <p> <asp:Button runat="server" id="c3" text="Conferma" onclick="Step3"/> </ P> <p> <asp:literal id="messaggio" runat="server"/> </ P> </ FORM>
В нашем примере, каждый шаг состоит из одного поля и одна кнопка отправки: все кнопки сделать следующий шаг, но последний материал, что приведет к управлению данными.
Отметим, что в начале и в конце мы используем два элемента текста: первая используется для указания номера текущего шага, в то время как нижняя покажет сообщения об ошибках и подтверждения сделок.Давайте VB.NET код:
<script runat="server" Language="VB">
Private Sub Page_Load (отправитель As Object, электронная Как System.EventArgs)
Если Page.IsPostBack = False Затем
numero.Text = "Шаг 1"
due.Visible = False
tre.Visible = False
c2.Visible = False
c3.Visible = False
End If
End Sub
Private Sub Шаг 1 (отправитель As Object, электронная Как System.EventArgs)
Если uno.Text = "" Тогда
messaggio.Text = "Обязательно!"
Exit Sub
End If
numero.Text = "Шаг 2"
uno.Visible = False
due.Visible = True
c1.Visible = False
c2.Visible = True
messaggio.Text = ""
End Sub
Private Sub Шаг 2 (отправитель As Object, электронная Как System.EventArgs)
Если due.Text = "" Тогда
messaggio.Text = "Обязательно!"
Exit Sub
End If
numero.Text = "Шаг 3"
due.Visible = False
tre.Visible = True
c2.Visible = False
c3.Visible = True
messaggio.Text = ""
End Sub
Private Sub Шаг 3 (отправитель As Object, электронная Как System.EventArgs)
Если tre.Text = "" Тогда
messaggio.Text = "Обязательно!"
Exit Sub
End If
numero.Text = "Результат"
tre.Visible = False
c3.Visible = False
End Sub
</ Script>
Во-первых, событие загрузки страницы произошла PostBack проверить, что содержимое этой страницы не является "искаженным". Внутри, показать сообщение выступать в качестве названия первый шаг, и скрыть все элементы последующих шагов.
Тогда мы имеем процедур, которые проверяют завершения текущего поля, прячась предыдущем шаге, и следующий концерт.
Только последний шаг не будет показывать, конечно, следующий шаг, но будет выполнять управление данными: в нашем примере, просто показать видео данных.
Я оставляю читателю сделать следующее: создать для каждого шага на стороне сервера этикетки и использовать его, чтобы скрыть все поля в один шаг (например, имя, фамилия, имя пользователя, пароль, адрес электронной почты, веб-сайт).
| |
ASP (Advanced)
Полный курс для создания динамических веб-сайтов. С 39 €. |
| |
ASP.NET (курс)
Полный курс для создания веб-приложений от 49 €. |
| |
SQL и базы данных (курс)
Создание и управление реляционными базами данных. С 39 €. |