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;
   }
}

ASP.Net:出现错误的文本框更改

问题是您的事件处理程序是private

如果在标记中定义事件处理程序,则它必须是protectedpublic。通常您会使用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);如果要保留当前命名。