如何在textchanged事件上阻止或禁用按钮的回发?

达伍德·阿巴斯(Dawood Abbas)

对于我的“用户名”字段,我正在检查存在名称,如果存在则将在label。引发错误。那么如何禁用按钮的单击事件或回发?

protected void txtUserName_TextChanged(object sender, EventArgs e)  
{  
    try  
    {  
        string userName = txtUserName.Text;  
        if (connection.State == ConnectionState.Closed)  
            connection.Open();

        command = new SqlCommand();
        command.CommandText = "Get_UserName";
        command.CommandType = CommandType.StoredProcedure;
        command.Parameters.AddWithValue("@userName", userName);
        command.Connection = connection;

        SqlDataReader reader = command.ExecuteReader();
        if (reader.HasRows)
        {
            lblUserNameError.Text = "Alredy Exist";
            lblUserNameError.Visible = true;
            //btnSave.Enabled = false; 
             //btnSave.onClientClick="return false";
             someID.Attributes.Add("onClick", "return false;");
        }
        else
        {
            lblUserNameError.Visible = false;               
        }
    }
    catch (Exception ex)
    {
        Response.Write(ex.Message);
    }  
    finally //Close db Connection if it is open....  
    {
        if (connection.State == ConnectionState.Open)
            connection.Close();
    }
}  

以上三种方式,我仍然可以在点击按钮后返回页面。

达伍德·阿巴斯(Dawood Abbas)

我的文本框在UpdatePanel内,按钮也必须在UpdatePanel内,否则它不会刷新。

<asp:updatepanel id="uptxtUserName" runat="server" xmlns:asp="#unknown"><contenttemplate>
                                <asp:textbox id="txtUserName" runat="server" tabindex="8" autopostback="true">
                                        ontextchanged="txtUserName_TextChanged"></asp:textbox>
                                        <asp:label id="lblUserNameError" runat="server" visible="false" forecolor="Red"></asp:label>
            <asp:requiredfieldvalidator id="reqUName" controltovalidate="txtUserName" errormessage="Required" class="error" runat="server" forecolor="Red">
            </asp:requiredfieldvalidator>
            </contenttemplate>
                <triggers>
                    <asp:asyncpostbacktrigger controlid="txtUserName" eventname="TextChanged" />
                    <asp:asyncpostbacktrigger controlid="btnSave" eventname="Click" />
                    <asp:asyncpostbacktrigger controlid="btnCancel" eventname="Click" />
                </triggers>
            </asp:updatepanel>
<pre lang="xml"><asp:UpdatePanel ID="upbtnSave" runat="server"><ContentTemplate>
                        <asp:Button ID="btnSave" Text="Save" runat="server" TabIndex="31" class="btn btn-success" onclick="btnSave_Click"></asp:Button>
                                <asp:Button ID="btnCancel" Text="Cancel" CausesValidation="false" runat="server" TabIndex="32" class="btn" onclick="btnCancel_Click"></asp:Button>
                                    </ContentTemplate>
                                        <Triggers>
                                            <asp:AsyncPostBackTrigger ControlID="btnSave" EventName="Click" />
                                            <asp:AsyncPostBackTrigger ControlID="btnCancel" EventName="Click" />
                                            <asp:AsyncPostBackTrigger ControlID="txtUserName" EventName="TextChanged" />
                                        </Triggers>
                                    </asp:UpdatePanel>

那么后面的代码将如下所示

protected void txtUserName_TextChanged(object sender, EventArgs e)   
        {     
            try   
            {    
                string userName = txtUserName.Text;
                if (connection.State == ConnectionState.Closed)
                    connection.Open();


            command = new SqlCommand();
            command.CommandText = &quot;Get_UserName&quot;;
            command.CommandType = CommandType.StoredProcedure;
            command.Parameters.AddWithValue(&quot;@userName&quot;, userName);
            command.Connection = connection;

            SqlDataReader reader = command.ExecuteReader();
            if (reader.HasRows)
            {
                lblUserNameError.Text = &quot;Alredy Exist&quot;;
                lblUserNameError.Visible = true;
                btnSave.OnClientClick = &quot;return false;&quot;;
            }
            else
            {
                lblUserNameError.Visible = false;
                btnSave.OnClientClick = &quot;return true;&quot;;
            }
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }
        finally //Close db Connection if it is open....
        {
            if (connection.State == ConnectionState.Open)
                connection.Close();
            connection.Close();
            command.Dispose();
        }
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何阻止或禁用textchanged事件上按钮的回发?

来自分类Dev

如何在MVC中回发已禁用的表单控件

来自分类Dev

禁用asp.net按钮的回发

来自分类Dev

禁用asp.net按钮的回发

来自分类Dev

如何在iScroll上禁用拖动事件?

来自分类Dev

如何在 Visual Studio C# 中禁用和启用按钮上的单击事件

来自分类Dev

如何在MacCatalyst上禁用全屏按钮

来自分类Dev

如何在回发时捕获并触发用户控件的自定义事件

来自分类Dev

如何在回发时捕获并触发用户控件的自定义事件

来自分类Dev

如何在禁用的元素上触发点击事件

来自分类Dev

如何在更改或选择事件上禁用多选?

来自分类Dev

如何为固定div禁用自动回发

来自分类Dev

如何在选项选择上使用jquery自动完成功能导致回发?

来自分类Dev

如何在WPF中覆盖按钮上的启用/禁用外观

来自分类Dev

如何在动态呈现的表单上禁用登录按钮

来自分类Dev

如何在平板电脑上禁用Windows按钮?

来自分类Dev

在事件iOS上禁用和启用按钮

来自分类Dev

回发事件后如何删除target ='_ blank'?

来自分类Dev

如何在Xcode中订阅TextField的TextChanged事件

来自分类Dev

ASP.net如何在TextChanged事件中无效

来自分类Dev

如何在 WPF 中使用 PropertyChanged 而不是 TextBox TextChanged 事件?

来自分类Dev

asp.net CompleteRequest不会阻止其他回发事件的处理

来自分类Dev

asp.net CompleteRequest不会阻止其他回发事件的处理

来自分类Dev

如何防止来自asp.net的回发链接按钮

来自分类Dev

如何防止来自asp.net的回发链接按钮

来自分类Dev

如何在DrawingManagerControl的按钮上添加事件侦听器?

来自分类Dev

如何在JavaScript事件上创建删除按钮

来自分类Dev

如何在“单击”事件上获取按钮ID

来自分类Dev

如何在更改事件上不触发提交按钮

Related 相关文章

  1. 1

    如何阻止或禁用textchanged事件上按钮的回发?

  2. 2

    如何在MVC中回发已禁用的表单控件

  3. 3

    禁用asp.net按钮的回发

  4. 4

    禁用asp.net按钮的回发

  5. 5

    如何在iScroll上禁用拖动事件?

  6. 6

    如何在 Visual Studio C# 中禁用和启用按钮上的单击事件

  7. 7

    如何在MacCatalyst上禁用全屏按钮

  8. 8

    如何在回发时捕获并触发用户控件的自定义事件

  9. 9

    如何在回发时捕获并触发用户控件的自定义事件

  10. 10

    如何在禁用的元素上触发点击事件

  11. 11

    如何在更改或选择事件上禁用多选?

  12. 12

    如何为固定div禁用自动回发

  13. 13

    如何在选项选择上使用jquery自动完成功能导致回发?

  14. 14

    如何在WPF中覆盖按钮上的启用/禁用外观

  15. 15

    如何在动态呈现的表单上禁用登录按钮

  16. 16

    如何在平板电脑上禁用Windows按钮?

  17. 17

    在事件iOS上禁用和启用按钮

  18. 18

    回发事件后如何删除target ='_ blank'?

  19. 19

    如何在Xcode中订阅TextField的TextChanged事件

  20. 20

    ASP.net如何在TextChanged事件中无效

  21. 21

    如何在 WPF 中使用 PropertyChanged 而不是 TextBox TextChanged 事件?

  22. 22

    asp.net CompleteRequest不会阻止其他回发事件的处理

  23. 23

    asp.net CompleteRequest不会阻止其他回发事件的处理

  24. 24

    如何防止来自asp.net的回发链接按钮

  25. 25

    如何防止来自asp.net的回发链接按钮

  26. 26

    如何在DrawingManagerControl的按钮上添加事件侦听器?

  27. 27

    如何在JavaScript事件上创建删除按钮

  28. 28

    如何在“单击”事件上获取按钮ID

  29. 29

    如何在更改事件上不触发提交按钮

热门标签

归档