我试过用html的reset按钮可以简单实现,但是用服务器控件button则没有效果,请指教,下面是我的做法:
我将Login控件转换为模板后,在其中添加了一个Button控件,然后双击它添加服务器端事件:
- C# code
protected void btn_Cancel_Click(object sender, EventArgs e) { TextBox txtName = (TextBox)Login.FindControl("UserName"); txtName.Text = ""; TextBox txtPwd = (TextBox)Login.FindControl("Password"); txtPwd.Text = ""; txtName.Focus(); }
点击按钮后没有反应。
我用断点查看这个方法每一步执行过程中,各个TextBox控件的Text值,发现我新建的txtName、txtPwd可以获取子控件的Text属性值,但是当txtName、txtPwd的Text属性值更改时,原Login控件中的TextBox子控件的Text值并没有跟着改变。
TextBox txtName = (TextBox)Login.FindControl("UserName");这句话不应该是用新建的txtName对象获取子控件UserName对象的句柄么,为什么成了值传递的效果?
------解决方案--------------------------------------------------------
不太明白,一般这样的东西都自己手写写就行了,不用login控件。
TextBox txtName = (TextBox)Login.FindControl("UserName");这句话不应该是用新建的txtName对象获取子控件UserName对象的句柄么.
上面的话是可以肯定的。
------解决方案--------------------------------------------------------
好像跟AutoPostBack项有关。