微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C# – TextBox TextChanged事件未触发

我正在开发一个正在工作的项目,由于某种原因,我的文本框的textchanged事件没有被触发.我试图在我的代码中设置一个断点,但他没有到达那里,所以他的事件并没有触发imo.

<FooterTemplate>
                <asp:TextBox ID="TextBoxSitealias" runat="server" AutopostBack="true" OnTextChanged="TextBoxSitealias_TextChanged"></asp:TextBox>
                <ajaxToolkit:autocompleteextender
                                    runat="server" 
                                    id="autocompleteextenderSitealias" 
                                    targetcontrolid="TextBoxSitealias"
                                    servicemethod="GetSitealiasList"
                                    minimumprefixlength="2" 
                                    completioninterval="1000"
                                    enablecaching="true"
                                    completionsetcount="12" />
            </FooterTemplate>

这是我的Gridview中的FooterTemplate.

protected void TextBoxSitealias_TextChanged(object sender,EventArgs e)
    {
        string query = @"select distinct (isnull([site_address1],'')
                            +isnull([site_address2],'')
                            +isnull([site_address3],'')
                            +isnull([site_address4],'')
                            +isnull([site_address5],'') ) as 'Site_adresse',city,country,[site_id] as 'siteID'
                          FROM [Henkel].[dbo].[tbl_Henkel_site_info_upload]
                          WHERE site_id = '" + ((TextBox)GridView1.FooterRow.FindControl("TextBoxSitealias")).Text + "'";
        conn.open();
        sqlCommand cmd = new sqlCommand(query,conn);
        sqlDataReader myReader = cmd.ExecuteReader();
        DataTable myTable = new DataTable();
        myTable.Load(myReader);
        conn.Close();
        if (myTable.Rows.Count > 0)
        {
            ((TextBox)GridView1.FooterRow.FindControl("TextBoxSiteAddress")).Text = Convert.ToString(myTable.Rows[0]["Site_adresse"]);
            ((TextBox)GridView1.FooterRow.FindControl("TextBoxSiteCity")).Text = Convert.ToString(myTable.Rows[0]["city"]);
            ((TextBox)GridView1.FooterRow.FindControl("TextBoxSiteCountry")).Text = Convert.ToString(myTable.Rows[0]["country"]);
            ((TextBox)GridView1.FooterRow.FindControl("TextBoxIBSSiteID")).Text = Convert.ToString(myTable.Rows[0]["siteID"]);
        }
        else
        {
            ((TextBox)GridView1.FooterRow.FindControl("TextBoxSiteAddress")).Text = "";
            ((TextBox)GridView1.FooterRow.FindControl("TextBoxSiteCity")).Text = "";
            ((TextBox)GridView1.FooterRow.FindControl("TextBoxSiteCountry")).Text = "";
            ((TextBox)GridView1.FooterRow.FindControl("TextBoxIBSSiteID")).Text = "";
        }
    }

这是在专用文本框失去焦点时应立即调用函数.

我一直在许多论坛上寻找原因,但所有这些回复都表明文本框需要AutopostBack属性(我的有).

通知我有相同的项目(具有所有相同的功能,我们公司的另一笔交易,在该项目中它工作正常.我已将项目代码复制到新项目并更改所有查询连接字符串)

希望有人可以帮助我吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐