日期:2014-05-18  浏览次数:20457 次

我这样为Login控件添加重置功能为什么无效??请指教!
我试过用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项有关。