Остановить очистку форм при отправке - PullRequest
0 голосов
/ 11 ноября 2011

Я использую asp.net, но просто использую обычные формы, а не runat = "server".Вот один из них:

<form action="addUser.aspx" method="post">
    <fieldset>
        <label>Username</label>
        <input name="username" type="text" maxlength="50" />
        <span id="usernameInfo" class="fieldInfo" runat="server"></span>
    </fieldset>

    <fieldset>
        <label>Password</label>
        <input name="password" type="password" maxlength="50" />
        <span id="passwordInfo" class="fieldInfo" runat="server"></span>
    </fieldset>

    <fieldset>
        <label>Email</label>
        <input type="text" maxlength="50" />
        <span id="emailInfo" class="fieldInfo" runat="server"></span>
    </fieldset>

    <div class="buttonHolder">
        <button type="submit">Submit</button>
        <span id="generalInfo" runat="server"></span>
    </div>

</form>

Когда форма отправляется и страница перезагружается, все поля в форме пусты.Это раздражает, потому что мне нужно проверить форму и сообщить пользователю, например, если имя пользователя уже есть у пользователя.

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

Почему для меня происходит обратное, и как мне это исправить?

Ответы [ 2 ]

2 голосов
/ 11 ноября 2011

В вашем ответе неясно, почему вы используете html-входы. Но если вы можете использовать элементы управления asp.net, я бы рекомендовал использовать это.

<asp:TextBox id="textbox" runat="server" />

вместо этого

<input type="text" maxlength="50" />

С контролем над текстовым полем asp.net viewstate позаботится о сохранении вашего значения в текстовом поле даже после того, как вы нажмете «Отправить», но останетесь на той же странице из-за ошибок проверки. когда вы переходите на другую страницу и переходите на другую страницу, вы теряете свои ценности.

подробнее о состоянии просмотра здесь http://msdn.microsoft.com/en-us/library/ms972976.aspx

0 голосов
/ 11 ноября 2011

В письме указан атрибут "name", необходимый для чтения сообщения.

Вы не предоставили никакого кода, который показывает, как вы пытаетесь прочитать значения, который, я полагаю, вы пытаетесь прочитать в коде позади.

Вы должны быть в состоянии прочитать значение как Запрос ["NameOfControl"].

Вы устанавливаете значения при загрузке страницы, которые могут перезаписывать введенные значения?

ЧТЕНИЕ ВЫШЕГО КОММЕНТАРИИ:

Вы должны будете повторно заполнить элементы управления, используя javascript, поскольку элементы управления не являются серверными. Так как вы не используете веб-элементы управления с runat = "server", ViewState отсутствует, поэтому у вас есть повторное заполнение значений вручную.

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