ASP.Net:出现错误的文本框更改
本文关键字:文本 错误 Net ASP | 更新日期: 2023-09-27 18:00:10
当用户在文本框字段中输入完文本后,我正试图运行一个函数。
但是当我试图编译代码时,我得到了这个错误
错误:
Compiler Error Message: CS1061: 'ASP.account_default_testingpage_aspx'
does not contain a definition for 'GetAverageRent_TextChanged' and no
extension method 'GetAverageRent_TextChanged' accepting a first
argument of type 'ASP.account_default_testingpage_aspx' could be found
(are you missing a using directive or an assembly reference?)
知道怎么解决这个问题吗?
我的标记是
<asp:TextBox ID="PostcodeTxb" runat="server" OnTextChanged="GetAverageRent_TextChanged" AutoPostBack="true">EnterPostcode</asp:TextBox>
我的c#是
private void GetAverageRent_TextChanged(object sender, EventArgs e)
{
TextBox PostcodeTxb = sender as TextBox;
if (PostcodeTxb != null)
{
string theText = PostcodeTxb.Text;
}
}
问题是您的事件处理程序是private
。
如果在标记中定义事件处理程序,则它必须是protected
或public
。通常您会使用protected
。
更改。。。
private void GetAverageRent_TextChanged(object sender, EventArgs e)
收件人。。。
protected void GetAverageRent_TextChanged(object sender, EventArgs e)
您的文本框id和代码隐藏方法不匹配所以您的代码是错误的,可能是这样的:-
我的标价是
<asp:TextBox ID="GetAverageRent" runat="server" OnTextChanged="GetAverageRent_TextChanged" AutoPostBack="true"></asp:TextBox>
C#代码是
private void GetAverageRent_TextChanged(object sender, EventArgs e)
{
TextBox PostcodeTxb = sender as TextBox;
if (PostcodeTxb != null)
{
string theText = PostcodeTxb.Text;
}
}
这可能是因为添加方法后,您将文本框名称从GetAverageRent更改为PostcodeTxb。转到定义TextBox PostcodeTxb的aspfile.aspx designer.cs并添加GetAverageRent_TextChanged事件。建议对控件的事件使用相同的controlname_eventname,以避免混淆。例如,您的事件名称必须是PostcodeTxb_TextChanged,而不是GetAverageRent_TextChanged。
PostcodeTxb.TextChanged +=new EventHandler(PostcodeTxb_TextChanged);
必须更改为PostcodeTxb.TextChanged +=new EventHandler(GetAverageRent_TextChanged);
如果要保留当前命名。