用反射: FieldInfo[] infos = GetType().GetFields( BindingFlags.Public | BindingFlags.NonPublic|BindingFlags.GetField |BindingFlags.Instance); for(int i=0;i<infos.Length;i++) { if(infos[i].FieldType == typeof(TextBox)) { ((TextBox)infos[i].GetValue(this)).Text = ""; } }
//使用js,好处是不用刷新页面: 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=""; } } } }
function clearInfo(){//和上面这种类似只是将不清空的文本框ID放入allowtedExtension数组里 var flag; var obj=window.document.forms[0]; var allowtedExtension=["txtPictureName","txtUpLoadBeginDate","txtUpLoadEndDate"]; for(var i=0;i<obj.length;i++){ var elem=obj.elements[i]; if(elem){//判断是否存在 if(elem.type=="text"){ for(var j=0;j<allowtedExtension.length;j++){ var flag=true; if(allowtedExtension[j]==elem.id){//判断ID数否是与数组中某个ID相等 flag=false; break; } } if(flag){ elem.value=""; } } } } document.getElementById("ddlPicType").selectedIndex=0;//清空下拉框 document.getElementById("lblPicUpName").innerHTML="";//清空label }
//最后一种用Jquery function ClearText() { $("input").each(function() { $(this).val(''); }); }
//从this.Controls中清空只能是通过在后置代码中new 的TextBox控件 foreach( Control childControl in this.Controls ) { if( childControl is TextBox ) ((TextBox)childControl).Text = ""; } //以下两种都是页面上已经定义好的清空方式 foreach (Control childControl in this.Controls) { if (childControl is TextBox) { (childControl as TextBox).Text = string.Empty; } } foreach (Control c in this.form1) { if (c.GetType().ToString().Contains("TextBox")) { ((TextBox)c).Text = ""; } if (c.GetType().ToString().Contains("ComboBox")) { ((ComboBox)c).Text = ""; } if (c.GetType().ToString().Contains("CheckBox")) { ((CheckBox)c).Checked = false; } }