您的位置:首页 > 编程语言 > ASP

那些年朋友劝,该知道的ASP.NET - 服务器端和客户端清除TextBox控件的值

2012-09-26 16:27 162 查看
<!--客户端-->
<script language="javascript" type="text/javascript">
function clearControl() {
var Input = div1.getElementsByTagName("input");
for (var i = 0; i < Input.length; i++) {
if (Input[i].type == "text") {
Input[i].value = "";
}
}
return false;
}
</script>
<form id="form1" runat="server">
<div>
<div id="div1">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
</div>
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return clearControl()" />
<asp:Button ID="Button2" runat="server" Text="Button" OnClick="Button2_Click" /></div>
</form>
<!--直接在客户端调用了就清除了不要去服务器端-->


//还有一种就是经过服务器然后在调用javascript比如注册成功后提示成功在清空TextBox
protected void Button2_Click(object sender, EventArgs e)
{
ClientScriptManager cs = Page.ClientScript;
Type type = Page.GetType();
string key = "key";
//判断是否已经注册
if (!cs.IsClientScriptBlockRegistered(type, key))
{
//此方法是在一开始就加载此方法
cs.RegisterClientScriptBlock(type, key, "alert('注册成功')", true);
}
if (!cs.IsStartupScriptRegistered(type, key))
{
//这个方法是在</from>结束标签后调用,因为在这里要调用div,所以要等这些控件加载后才能调用
cs.RegisterStartupScript(type, key, "clearControl()", true);
}
}
//服务器端
//定义一个方法做递归查找
private void ClearControl(System.Web.UI.Control page)
{
int count = page.Controls.Count;
for (int i = 0; i <count; i++)
{
foreach(System.Web.UI.Control con in page.Controls[i].Controls)
{
if(con.HasControls())
{                    ClearControl(con);                }
else
{
if (con is TextBox)
{                (con as TextBox).Text = string.Empty;  }
}
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{        ClearControl(Page);    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐