Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在不失去焦点的情况下调用文本更改方法_C#_Asp.net_Static_Textbox_Textchanged - Fatal编程技术网

C# 如何在不失去焦点的情况下调用文本更改方法

C# 如何在不失去焦点的情况下调用文本更改方法,c#,asp.net,static,textbox,textchanged,C#,Asp.net,Static,Textbox,Textchanged,我正在开发一个应用程序,其中我有一个文本框,用于编写供应商,通过调用文本更改方法显示供应商列表与输入文本匹配,并在网格视图中显示结果,但问题是,当我在文本框外单击时,会调用该方法,但我希望用户在文本框中键入时立即触发该方法 ASP代码 <table style="width: 100%;"> <tr> <td style="font-weight: bold; font-size: mediu

我正在开发一个应用程序,其中我有一个文本框,用于编写供应商,通过调用文本更改方法显示供应商列表与输入文本匹配,并在网格视图中显示结果,但问题是,当我在文本框外单击时,会调用该方法,但我希望用户在文本框中键入时立即触发该方法

ASP代码

 <table style="width: 100%;">
                <tr>
                    <td style="font-weight: bold; font-size: medium; text-align: right;">
                        &nbsp;
                        Supplier Name
                    </td>
                    <td style="text-align: left">
                        &nbsp;<asp:TextBox ID="txtSuppName" runat="server" Width="357px"></asp:TextBox>
                    </td>
                </tr>
                </table>
            <asp:Panel ID="Panel1" runat="server" Height="616px" ScrollBars="Auto">
                <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                    <ContentTemplate>
                        <asp:GridView ID="gvSuppPayment" runat="server" AutoGenerateColumns="False" 
                            CellPadding="4" ForeColor="" GridLines="None" Width="100%"  
                            OnRowCommand="GetSuppOrderDetails" BorderStyle="Solid" CssClass="shadow">



                            <Columns>
                                <asp:TemplateField HeaderText="Emaiil ID">
                                <ItemTemplate>     
                                            <asp:LinkButton ID="restorantName" runat="server"  CommandName="Email"  CommandArgument='<%#Eval("Supp_Email_ID")+ ";" +Eval("Supp_Name")+ ";" +Eval("Area") %>'  Text='<%# Bind("Supp_Email_ID") %> '>LinkButton</asp:LinkButton>
                                   </ItemTemplate>
                                </asp:TemplateField>
                                <asp:BoundField DataField="Supp_Name" HeaderText="Supp Name" />
                                <asp:BoundField DataField="Area" HeaderText="Area" />
                                <asp:BoundField DataField="Total_Orders" HeaderText="Total Orders" />
                                <asp:BoundField DataField="Total_Amount" HeaderText="Total Amount" />
                                <asp:BoundField DataField="Total_Ammount_Recievable" 
                                    HeaderText="Total Ammount Recievable" />
                                <asp:BoundField DataField="Total_Ammount_Payable" 
                                    HeaderText="Total Ammount Payable" />
                                <asp:BoundField DataField="Is_Deleted" HeaderText="Is Deleted" />
                            </Columns>

                            <HeaderStyle BackColor="#454545" Font-Bold="True" ForeColor="#35a7c1" />

                            <RowStyle CssClass="cartBackground" />

                        </asp:GridView>
                    </ContentTemplate>
                </asp:UpdatePanel>
            </asp:Panel>

感谢您的建议。据我所知,您希望文本框具有自动建议功能。您需要在文本框的keydown事件中执行此操作。您可以通过AJAX调用来获得建议。

no sir必须在下面的gridview中显示所有供应商与文本框关键字的匹配现在我在文本框中键入,然后单击外部,然后是fire方法而不是white i键入
protected void txtSuppName_TextChanged(object sender, EventArgs e)
        {
DataTable CustomRangePaymentDT = new DataTable();
CustomRangePaymentDT = SrcHldObj.BalSearchViewAccess("SELECT *FROM payment_view WHERE trimmed_date BETWEEN '" + (Convert.ToDateTime(txtFromDate.Text)).ToString("MM/dd/yyyy") + "' AND '" + (Convert.ToDateTime(txtToDate.Text)).ToString("MM/dd/yyyy") + "'");
                if (CustomRangePaymentDT.Rows.Count == 0)
                {
                    lblError.Text = "Sorry! No result found";
                    lblError.Visible = true;
                }
gvSuppPayment.DataSource = CustomRangePaymentDT;
                gvSuppPayment.DataBind();

        }