FindControl CodeBehind问题

时间:2015-07-26 13:42:17

标签: c# asp.net code-behind findcontrol

我的aspx文件中有以下代码:

<input type="text" runat="server" id="test" name="test" onBlur="OnBlurFunction()"/>

点击提交按钮时:

<asp:Button runat="server" id="SubmitButton" OnClick="SubmitButton" Text="Submit" />

功能&#34; SubmitButton&#34;包含以下内容:

System.Diagnostics.Debug.WriteLine(this.FindControl("test"));

当我运行它时,它总是打印出一个空白值,我不知道为什么。如果我在HTML行中设置值如下:

<input type="text" runat="server" id="test" name="test" value="hello" onBlur="OnBlurFunction()"/>

打印&#34;你好&#34;没有问题。但是当我手动将文本框中的值更改为其他值时,它总是打印出第一个值。它似乎不是动态的东西。我在这里做了一些根本错误的事情吗?

2 个答案:

答案 0 :(得分:0)

试试这个 -

HtmlInputText tb1 = this.test;
System.Diagnostics.Debug.WriteLine(tb1.Value);

这是主题 - find control and html tags

答案 1 :(得分:0)

您必须使用父控件(如asp:panel或runat server div)代替此方法来调用FindControl方法。 像这样:

pnl1.FindControl("test")