Событие валидации срабатывает при любом нажатии кнопки, пока я не использую валидатор asp и атрибут «required» - PullRequest
0 голосов
/ 02 апреля 2019

Я построил окно сообщения, используя чисто HTML и CSS. У меня есть кнопка «всплывающее сообщение», которая запускает событие «pop_error_message» из кода позади, и еще одна кнопка «Сброс», которая установит для textbox значение string.empty. Я не использую главную страницу и не использую ссылку. Просто простой HTML и C #.

Мне интересно, почему после одного нажатия кнопки «всплывающее сообщение» также появляется окно сообщения при нажатии кнопки «сброс». Другой факт заключается в том, что если я нажму «сбросить» сразу после загрузки страницы, окно с сообщением не появится. Проблема возникает только после нажатия «всплывающее сообщение».

Загрузка страницы -> нажмите «всплывающее сообщение» -> сообщение показывает -> нажмите «сброс» -> сообщение показывает

Загрузка страницы -> нажмите «Сброс» -> сообщение не отображается

Я знаю альтернативы для решения проблемы, например, как использовать валидаторы asp и атрибут "required" в html. Мне просто интересно, почему всплывающее окно с сообщением "сбросить".

<style type="text/css">
    .alertBox
    {
        position: absolute;
        top: 300px;
        left: 30%;
        width: 600px;
        border:2px solid #f44336;
        border-radius: 4px;
        box-sizing: border-box;
        padding: 7px 12px;
        font-weight:bold;
        font-size:x-large;
        background-color:snow;
    }
</style>


<form id="form1" runat="server">
    <div runat="server" id="AlertBox" class="alertBox" Visible="false">
        <div runat="server" id="AlertBoxMessage"></div>
        <br/>
        <span class="closebtn" style="color:black;" onclick="this.parentElement.style.display='none';">&times;</span> 
    </div>
    Name: <br/>
    <asp:Textbox ID="name"  runat="server"/><br/>
    Description: <br/>
   <asp:Textbox ID="desc"  runat="server" /><br/>
    <br/>
    <asp:button runat="server" Text="Pop Message" OnClick="pop_error_message" ></asp:button>
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <asp:button runat="server" Text="Reset" OnClick="reset"  > 

Код сзади:

    public void pop_error_message(object sender, EventArgs e)
    {
        AlertBoxMessage.InnerText = "here is the error message";
        AlertBox.Visible = true;
    }

    public void reset(object sender, EventArgs e)
    {
        name.Text = string.Empty;
        desc.Text = string.Empty;
    }

Скриншот страницы

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