我在后面的代码中有以下代码。目标是将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" />
我是新手/发烧友程序员,这是我的第一篇文章。猜测问题是显而易见的,我只是没有看到它。
答案 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。当我问起原始问题时,我没有发布足够的代码,因为我认为有经验的程序员会很快发现解决方案。感谢所有贡献者。