protected void btnReset_Click(object sender, EventArgs e)
{
TextBox txtbox;
foreach (Control ctl in Form.Controls)
{
txtbox = ctl as TextBox;
if (txtbox != null)
{
txtbox.Text = string.Empty;
}
}
}点下按钮后 清空所有TextBox中的内容页面中 我的 Form 里面有一个 runat=server 的 <div> 为什么遍历不到div里面的TextBox
多加了这个 就可以实现了 divCompany是运行在服务器端的div的ID
foreach (Control ctl in divCompany.Controls)
{
txtbox = ctl as TextBox;
if (txtbox != null)
{
txtbox.Text = string.Empty;
}
}
能否合并起来啊? && 符号好像不行
{
TextBox txtbox;
foreach (Control ctl in Form.Controls)
{
txtbox = ctl as TextBox;
if (txtbox != null)
{
txtbox.Text = string.Empty;
}
}
}点下按钮后 清空所有TextBox中的内容页面中 我的 Form 里面有一个 runat=server 的 <div> 为什么遍历不到div里面的TextBox
多加了这个 就可以实现了 divCompany是运行在服务器端的div的ID
foreach (Control ctl in divCompany.Controls)
{
txtbox = ctl as TextBox;
if (txtbox != null)
{
txtbox.Text = string.Empty;
}
}
能否合并起来啊? && 符号好像不行
{
foreach(Control c in Form.Controls)
ClearTextBox(c);
}
void ClearTextBox(Control ctrl)
{
if(ctrl is TextBox)
(ctrl as TextBox).Text = "";
else if(ctrl.Controls.Count > 0)
foreach(Control c in ctrl.Controls)
ClearTextBox(c);
}
那要遍历的那些文本框实在divCompany下面的,有层次关系
你可以设断点调试下
如果要遍历页面上的所有文本框的话那得用递归遍历才行
还有一点:foreach是不能改变循环体的属性的,估计你得用for循环
建议可以用jQuery来实现 用他的选择器遍历更方便
{
foreach (Control c in ctls)
{
if (c is TextBox)
{
Textbox tb = c as TextBox;
tb.Text="";
}
else if (c.Controls.Count>0) Find(c.Controls);
}
}
{
foreach (System.Web.UI.Control control in this.Controls)
{
for (int i = 0; i < control.Controls.Count; i++)
{
if (control.Controls[i] is System.Web.UI.WebControls.TextBox)
{
System.Web.UI.WebControls.TextBox tbx = (System.Web.UI.WebControls.TextBox)control.Controls[i];
tbx.Text = "";
}
}
}
}
javaScript: function ClearAllTextBox() {
var obj = window.document.forms[0];
for (i = 0; i < obj.elements.length; i++) {
var elem = obj.elements[i];
if (elem) {
if (elem.type == "text") {
elem.value = "";
}
}
}
}