重置/清除所有文本框功能不起作用

时间:2015-11-03 02:50:47

标签: c# asp.net clear

我有一个函数应该清除/重置我的aspx.page中的所有文本框,这个页面使用的是母版页,但它不起作用。下面是代码。刚刚从这个网站获得此代码。

//Clear all textbox

ResetTextBoxes(this);

//function to clear textboxes
    private void ResetTextBoxes(Control parent)
        {
            if (parent is TextBox)
            {
                ((TextBox)parent).Text = string.Empty;
            }

        foreach (Control child in parent.Controls)
        {
            if (child is TextBox)
            {
                ((TextBox)child).Text = string.Empty;
            }

            ResetTextBoxes(child);
        }

    }

3 个答案:

答案 0 :(得分:1)

我找到的另一种方法是使用一个javascript函数来清除我所有的asp.net文本框。我已经为所有文本框添加了一个类,例如

    <asp:TextBox ID="txtName" runat="server" class="mTxtBox">  </asp:TextBox>
    <asp:TextBox ID="txtID" runat="server" class="mTxtBox">  </asp:TextBox>
    <asp:TextBox ID="txtDept" runat="server" class="mTxtBox">  </asp:TextBox>
    <asp:Button onclick="ClearTxtBoxes_Click" ID="ClearTxtBoxes" runat="server" Text="Clear Fields"> </asp:Button>

//按钮的onclick事件

    ScriptManager.RegisterStartupScript(this,this.GetType(),"runJs","clearText();",true);

//我的JavaScriptFunction

    function clearText(){
     $('.mTxtBox').val('');
    }

答案 1 :(得分:1)

只想在asp.net codebehind上分享解决方案。在此,您应该将文本框的所有id放在数组中。

     TextBox[] textboxes = {TextBox2,TextBox3,TextBox4,TextBox5,TextBox6 };

    for (int i = 0; i < 5; i++)
    {
        TextBox myTextBox = textboxes[i];
        myTextBox.Text = "";
    }

答案 2 :(得分:-1)

控件有时很难更新。尝试拨打child.Refresh();并查看是否可以解决此问题。