单击按钮刷新文本框不起作用

时间:2013-11-05 12:38:15

标签: c# asp.net

我在后面的代码中有以下代码。目标是将textbox的值重置为空白。但是,当我点击button时,没有任何反应。

protected void btnReset_Click(object sender, EventArgs e)
{
    Label srch_Title = (Label)FindControl("srch_Title");
    srch_Title.Text = String.Empty;
}

以下是主页中的textbox代码:

<asp:TextBox ID="srch_Title" AutoPostBack="true" runat="server" />

以下是主页面中的按钮代码:

<asp:Button ID="btnResetSearch" runat="server" OnClick="btnReset_Click" Height="35px" Text="Reset Search" Width="120px" />

我是新手/发烧友程序员,这是我的第一篇文章。猜测问题是显而易见的,我只是没有看到它。

3 个答案:

答案 0 :(得分:0)

您应该将控件定义为TextBox而不是Label,如下所示:

TextBox srch_Title = (TextBox )Form.FindControl("srch_Title");
srch_Title.Text = String.Empty;

答案 1 :(得分:0)

您需要将srch_Title控件设为TextBox而不是Label,如下所示:

// The as operator avoids a cast exception, 
// returns null if cast cannot be successfully performed
TextBox theSrchTitleTextBox = Form.FindControl("srch_Title") as TextBox;

// Verify that we found the text box before we try to use it,
// to avoid null reference exception
if(theSrchTitleTextBox != null)
{
    theSrchTitleTextBox.Text = String.Empty;
}

答案 2 :(得分:0)

通过添加另一个FindControl来解决这个问题。首先,FindControl引用master并使用其结果来设置指向文本框的第二个FindControl。当我问起原始问题时,我没有发布足够的代码,因为我认为有经验的程序员会很快发现解决方案。感谢所有贡献者。