按下Enter键开始搜索asp.net c#

mmvthczy  于 2024-01-09  发布在  .NET
关注(0)|答案(2)|浏览(189)

我有一个GridView页面和一个搜索文本框,按钮靠近它,我想设置当用户按下“ENTER”开始搜索,只有这样。
我该怎么做才能修改风格:
Messaggio_Ricerca.Text =“I caratteri inseriti nella barra di ricerca non sono validi.“
当它出来?
ASP代码:

  1. Ricerca :
  2. <asp:TextBox ID="CampoRicerca" runat="server" CssClass="textbox" Width="300px" Height="25px" Placeholder="Inserisci qui i dati che vuoi cercare" ></asp:TextBox>
  3. <asp:Button ID="BTN_Ricerca" OnClick="Ricerca_NomeInserito" runat="server" Text="" Width="35" Height="35" CssClass="ricerca"></asp:Button>
  4. <asp:Label ID="Messaggio_Ricerca" runat="server"></asp:Label>

字符串
C#代码:

  1. protected void Ricerca_NomeInserito(object sender, EventArgs e)
  2. {
  3. this.RicercaCliente();
  4. }
  5. private void RicercaCliente()
  6. {
  7. //String query code
  8. if (String.IsNullOrWhiteSpace(CampoRicerca.Text))
  9. {
  10. Messaggio_Ricerca.Text = " I caratteri inseriti nella barra di ricerca non sono validi. ";
  11. }
  12. else
  13. {
  14. //SqlCommand code
  15. }
  16. }

zrfyljdw

zrfyljdw1#

好的,假设我们有这样的标记:
一个简单的网格和搜索:

  1. <asp:Label ID="Label1" runat="server" Text="Search for Fighter jet" Font-Size="Large"></asp:Label>
  2. <asp:TextBox ID="txtSearch" runat="server" Style="margin-left:15px" Font-Size="Large"></asp:TextBox>
  3. <asp:Button ID="cmdSearch" runat="server" Text="search"
  4. style="margin-left:15px" CssClass="btn" OnClick="cmdSearch_Click"
  5. />
  6. <br />
  7. <br />
  8. <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
  9. DataKeyNames="ID" CssClass="table" >
  10. <Columns>
  11. <asp:BoundField DataField="Fighter" HeaderText="Fighter" />
  12. <asp:BoundField DataField="Engine" HeaderText="Engine" />
  13. <asp:BoundField DataField="Thrust" HeaderText="Thrust" />
  14. <asp:BoundField DataField="Description" HeaderText="Description" />
  15. <asp:TemplateField HeaderText="View">
  16. <ItemTemplate>
  17. <asp:ImageButton ID="btnImage" runat="server" Height="68px" Width="149px"
  18. OnClientClick ="popimage(this);return false"
  19. ImageUrl = '<%# Eval("ImagePath") %>' />
  20. </ItemTemplate>
  21. </asp:TemplateField>
  22. </Columns>
  23. </asp:GridView>

字符串
我们要加载的代码是这样的:

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. if (!IsPostBack)
  4. LoadGrid("");
  5. }
  6. void LoadGrid(string MySearch)
  7. {
  8. using (SqlConnection conn = new SqlConnection(Properties.Settings.Default.TEST4))
  9. {
  10. using (SqlCommand cmdSQL = new SqlCommand("SELECT * from Fighters ", conn))
  11. {
  12. if (MySearch != "")
  13. {
  14. cmdSQL.CommandText += @" WHERE Fighter LIKE @Fighter + '%'";
  15. cmdSQL.Parameters.Add("Fighter", SqlDbType.NVarChar).Value = MySearch;
  16. }
  17. conn.Open();
  18. DataTable rstData = new DataTable();
  19. rstData.Load(cmdSQL.ExecuteReader());
  20. GridView1.DataSource = rstData;
  21. GridView1.DataBind();
  22. }
  23. }
  24. }
  25. protected void cmdSearch_Click(object sender, EventArgs e)
  26. {
  27. LoadGrid(txtSearch.Text);
  28. }


现在我们有了这个:


的数据
所以,代替键入搜索文本,然后点击搜索按钮?
当然,让我们删除搜索按钮。现在我们使用文本框的文本更改事件,并设置auto postback = true。
所以,我们现在有这个标记:

  1. <asp:Label ID="Label1" runat="server" Text="Search for Fighter jet" Font-Size="Large"></asp:Label>
  2. <asp:TextBox ID="txtSearch" runat="server" Style="margin-left:15px" Font-Size="Large"
  3. AutoPostBack="true" OnTextChanged="txtSearch_TextChanged" >
  4. </asp:TextBox>
  5. <br />
  6. <br />
  7. <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"


因此,将文本框设置为autopostback = true,那么它的所有事件都将触发并激发事件。
后面的代码呢?我们抓取按钮代码并将其移动到文本更改事件中,如下所示:

  1. protected void txtSearch_TextChanged(object sender, EventArgs e)
  2. {
  3. LoadGrid(txtSearch.Text);
  4. }


所以现在我们只需要输入一些文本,然后按回车键,我们得到这个:


展开查看全部
laximzn5

laximzn52#

可以将搜索文本框和按钮 Package 在Panel控件中,并将其DefaultButton属性设置为按钮的ID。

  1. <asp:Panel ID="SearchPanel" runat="server" DefaultButton="SearchButton">
  2. <asp:TextBox ID="SearchTextBox" runat="server"></asp:TextBox>
  3. <asp:Button ID="SearchButton" runat="server" Text="Search" OnClick="SearchButton_Click" />
  4. </asp:Panel>

字符串

相关问题