Я построил окно сообщения, используя чисто 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';">×</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>
<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;
}
Скриншот страницы