在我未使用asp验证程序或“ required”属性的情况下,只要单击任何按钮,验证事件都会触发

时间:2019-04-02 15:46:32

标签: c# html asp.net validation

我已经使用纯HTML和CSS构建了一个消息框。我有一个按钮“ pop message”,它将触发后面代码中的事件“ pop_error_message”,另一个按钮“ Reset”将文本框设置为string.empty。我没有使用母版页,也没有使用参考。只是简单的html和c#。

我想知道为什么单击“弹出消息”按钮后,单击“重置”按钮时消息框也会弹出。另一个事实是,如果在页面加载后立即单击“重置”,则不会弹出消息框。仅在单击“流行消息”后出现问题。

页面加载->单击“弹出消息”->消息显示->单击“重置”->消息显示

页面加载->单击“重置”->未显示消息

我知道解决该问题的替代方法,例如如何使用asp验证程序的内容以及html的“ required”属性。我只是想知道为什么消息框会在“重置”时弹出。

<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;
    }

Screenshot of the page

0 个答案:

没有答案