Как ASP.NET знает предыдущий ввод при публикации формы - PullRequest
3 голосов
/ 07 сентября 2010

Когда пользователь регистрируется на моем сайте и вводит неверную информацию, он перенаправляет его обратно на ту же страницу, чтобы исправить любые ошибки на странице входа.Когда они перенаправляются, имя пользователя и другая информация, которую они вводили ранее, находится в полях формы.Почему это - не то, что это плохо или что-то еще, но я хотел бы изменить это поведение, если это возможно.Вот код, который я использую

<tr>
     <td class="style1">Username</td>
          <td>
               <%= Html.TextBox("username") %>&nbsp;&nbsp;
          </td>
</tr>

Ответы [ 2 ]

2 голосов
/ 07 сентября 2010

Данные обратной передачи хранятся в View.ModelState. Вспомогательный метод Html.TextBox проверяет это перед отображением поля формы. Я не уверен, что именно так и происходит в вашей ситуации, но посмотрите этот похожий вопрос .

0 голосов
/ 07 сентября 2010

Потому что в asp.net значение элементов управления сохраняется в виде объекта ViewState.И каждый раз, когда вы выполняете обратную передачу, а не перенаправляете на другую страницу, это значение элементов управления устанавливается из этого объекта ViewState.Рамки это делают.Но если вы не хотите сохранять данные, вы можете использовать атрибут EnableViewState = false страницы.

<%@ Page enableViewState="false" %> 

Он не будет использовать viewstate для сохранения данных.значение элементов управления будет ясно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...