C#基于空/填充文本框禁用/启用按钮

时间:2011-11-15 01:56:24

标签: c# asp.net

我有一个包含5个文本框和一个按钮的表单,当单击该按钮时,它会将数据发送到SQL数据库。如果任何文本框为空,我希望禁用该按钮,如何在C#中执行此操作? (我在Visual Studio 2010 ASP.NET Web应用程序中)

4 个答案:

答案 0 :(得分:0)

您需要编写JavaScript / jQuery代码。

答案 1 :(得分:0)

如果您不想使用客户端脚本,可以使用validations作为控件

<asp:TextBox id="TextBox1" runat="server" /> <asp:RequiredFieldValidator id="RequiredFieldValidator1"
runat="server" ErrorMessage="Required!" ControlToValidate="TextBox1" > </asp:RequiredFieldValidator>

验证将在回发时触发。

如果您有多个控件,但又不想对它们进行全部验证,则可以使用Validation Group。请查看此链接以使用Validation Groups

答案 2 :(得分:0)

是的,Sam说的是对的!! 您需要先检查所有文本框是否为空。

将完成
If(txtbox1.text == "" || txtbox2.text == "" || txtbox3.text == "" || txtbox4.text == "" || txtbox5.text == "")

如果任何文本框为空,则禁用该按钮。

  button1.enable = false;

如果所有内容都已填写,请将其设为已启用。

  button1.enable = true;

答案 3 :(得分:0)

在页面加载上使用javascript setInterval如果您在页面上使用此单个表单并检查每个文本框值的长度...如果有人为null则禁用提交按钮..

使用jquery来禁用和启用它们。检查我为样本创建的以下代码片段。

如果您在某个容器控件中使用这些控件,请使用它来访问服务器控件ID。小组,contentplaceholder等:$("#<%=button1.ClientID>%>")

$("#text1").val().length将检查文本框中的文本长度..然后使用jquery启用和禁用它们。

<head runat="server">
    <title></title>
    <script src="http://code.jquery.com/jquery-1.7.min.js" type="text/javascript"></script>
    <%-- <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.min.js" type="text/javascript"></script>--%>
    <%--<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7-vsdoc.js" type="text/javascript"></script>--%>
    <script type="text/javascript">

        $(document).ready(function () {
            $("#submit").attr('disabled', 'disabled');

            $("#text1").keypress(function () {
                check();
            });

            var intv = self.setInterval("check()", 1000);

        });

        function check() {
            if ($("#text1").val().length > 0) {

                $("#submit").removeAttr('disabled');
            }
            else {

                $("#submit").attr('disabled', 'disabled');
            }
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="text1" runat="server"></asp:TextBox>
        <asp:Button ID="submit" runat="server" Text="Button" />
    </div>
    </form>
</body>
</html>