如何清除 Web 表单中的所有文本框? (当前上下文中不存在名称“form1”)

Posted

技术标签:

【中文标题】如何清除 Web 表单中的所有文本框? (当前上下文中不存在名称“form1”)【英文标题】:How to clear all textboxes in a Web Form? (The name 'form1' does not exist in the current context) 【发布时间】:2019-12-27 00:21:24 【问题描述】:

我是 ASP.NET 新手,没有太多编程经验。 我找到了一种可以清除 Web 表单中所有文本框的方法。但由于某种原因 form1 无法识别。我想知道,如果在下面的代码中,一个应该指的是我正在编码的确切形式,或者它是否是一个类。

我尝试将名称 form1 替换为代码隐藏文件中的名称,错误消失但单击清除按钮后文本仍保留在文本框中。

void cleanFields()
        
            foreach (Control item in form1.Controls)
            
                if (item is TextBox)
                
                    TextBox t = (TextBox)item; t.Text = "";
                
            
        

我希望在单击按钮后清除文本框。然而,在单击清除后,它们的内容仍然存在,该事件与上述方法相关联。页面重新加载后也会发生同样的情况。

【问题讨论】:

分享您在 aspx 页面上的表单标签代码 尝试使用Page.Controls Page.Form.Controls @MohsinMehmood 是这个吗?不幸的是,Page.Controls 和 Page.Form.Controls 不起作用。 【参考方案1】:

文本框位于内容占位符内。下面的代码有效。

        void cleanFields()
    
        foreach (Control item in Page.Form.FindControl("ContentPlaceHolder1").Controls)
        
            if (item is TextBox)
            
                ((TextBox)item).Text = string.Empty;
            
        

    

【讨论】:

以上是关于如何清除 Web 表单中的所有文本框? (当前上下文中不存在名称“form1”)的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法使用 Microsoft 访问中的按钮将数据输入表格并清除所有文本框

如何从html中的文本框中清除搜索输入? [复制]

jQuery表单验证案例

当所需的文本框为空时,如何强制页面回发

调用popToViewController后如何清除视图中的文本框

表单提交后怎么样才能不清空文本框和下拉框的值呢?