如何在Blazor Server中实现DxTextBox回车触发搜索按钮功能?
.NET 8 Blazor Server 实现 DxTextBox 回车触发搜索(非EditForm场景)
方案一:使用内置的EnterKeyPressed事件(推荐)
DevExpress的DxTextBox自带EnterKeyPressed事件,专门处理回车键触发逻辑,无需手动判断按键,代码更简洁直观。
<DxTextBox @bind-Text="SearchKeyword" EnterKeyPressed="@HandleSearch" Placeholder="输入搜索关键词"></DxTextBox> <DxButton Text="搜索" Click="@HandleSearch" /> @code { private string SearchKeyword { get; set; } = string.Empty; private void HandleSearch() { // 替换为你的实际搜索逻辑 // 示例:Console.WriteLine($"搜索:{SearchKeyword}"); } }
方案二:通过KeyDown事件手动判断回车键
如果你的DevExpress版本不支持EnterKeyPressed,可以通过KeyDown事件监听回车键(Key值为"Enter"):
<DxTextBox @bind-Text="SearchKeyword" KeyDown="@OnTextBoxKeyDown" Placeholder="输入搜索关键词"></DxTextBox> <DxButton Text="搜索" Click="@HandleSearch" /> @code { private string SearchKeyword { get; set; } = string.Empty; private void HandleSearch() { // 执行搜索逻辑 } private void OnTextBoxKeyDown(KeyboardEventArgs e) { if (e.Key.Equals("Enter", StringComparison.OrdinalIgnoreCase)) { HandleSearch(); } } }
关键说明
- 两种方案均无需依赖
EditForm组件,完全适配你的使用场景。 - 优先推荐方案一,因为是DevExpress官方提供的封装事件,兼容性和维护性更好。
内容的提问来源于stack exchange,提问作者David Thielen
相关产品推荐
相关产品推荐

