asp.net清空多个文本框
protectedvoidPage_Load(objectsender,EventArgse){foreach(ControlCtrolinthis.Controls){...
protected void Page_Load(object sender, EventArgs e)
{
foreach (Control Ctrol in this.Controls)
{
if (Ctrol is TextBox)
{
((TextBox)Ctrol).Text = "";
}
}
TextBox1.Text = "abc";
}
这段代码为什么清空不了上面的文本框?
aspx的代码:
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="tx1" runat="server" Text="123456789" />
……
</div>
</form>
</body>
</html> 展开
{
foreach (Control Ctrol in this.Controls)
{
if (Ctrol is TextBox)
{
((TextBox)Ctrol).Text = "";
}
}
TextBox1.Text = "abc";
}
这段代码为什么清空不了上面的文本框?
aspx的代码:
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="tx1" runat="server" Text="123456789" />
……
</div>
</form>
</body>
</html> 展开
2个回答
展开全部
this是指当前页面的对象,如果文本框放在了panel或其他容器里面,上面这段代码是遍历不到的。
如果是放在了panel里面,则代码可以改为:
foreach (Control Ctrol in panel控件名.Controls)
{
if (Ctrol is TextBox)
{
((TextBox)Ctrol).Text = "";
}
}
如果是放在了panel里面,则代码可以改为:
foreach (Control Ctrol in panel控件名.Controls)
{
if (Ctrol is TextBox)
{
((TextBox)Ctrol).Text = "";
}
}
追问
没有panel
追答
foreach (Control item in form1.Controls )
{
if (item is TextBox)
{
((TextBox)item).Text = "";
}
}
望采纳!
展开全部
上面的文本框内容是哪里来的?
这里只看到是Page_Load执行清空,如果上面的内容是在之后加上去的,当然就不能清除了。
你不放Page_Load里,做个按键试试。。
不过。这不是最好的方法。
最好是用javascript来做。这样不用执行服务器程序,而且可以做到页面无刷新。
jQuery就挺好的。
这里只看到是Page_Load执行清空,如果上面的内容是在之后加上去的,当然就不能清除了。
你不放Page_Load里,做个按键试试。。
不过。这不是最好的方法。
最好是用javascript来做。这样不用执行服务器程序,而且可以做到页面无刷新。
jQuery就挺好的。
追问
我也知道可以用javascript来写 我想知道到的是上面的代码为什么不行,文本框的值是定义文本框的时候就加进去的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询