[英]Advanced search with a single textbox
我正在嘗試使用單個文本框進行搜索。
這個想法是用戶可以通過客戶名稱、電子郵件、電話號碼或地址搜索文本框。
我正在分析我力所能及的最佳方式,我不知道你們中是否有人有機會使用類似的方法。
我不知道使用正則表達式是否可以識別用戶輸入的值,以了解我是否輸入了電話號碼、地址或電子郵件。
提前致謝,任何示例或貢獻都會有所幫助。
這是我的客戶端類,但我懷疑是識別用戶鍵入的文本的值。
public class Client
{
[Key]
public int Id { get; set; }
[StringLength(50)]
public string FirstName { get; set; }
[StringLength(50)]
public string MidName { get; set; }
[StringLength(50)]
public string LastName { get; set; }
[StringLength(50)]
public string Email { get; set; }
public virtual ICollection<Phone> Phones { get; set; }
public virtual ICollection<Address> Address { get; set; }
}
謝謝
我會:
對所有事情使用 linq:
字符串搜索文本;
return clients.Where(x => x.ToString().Contains(searchText) || x.Address.Any(a => a.ToString().Contains(searchText) || x.Phones.Any(a => a.ToString().Contains(searchText));
您真的不需要通過嘗試找出要搜索的類型來使其復雜化。 如果它有一個@,它將匹配電子郵件,如果它是一個電話號碼,它將匹配它。
你好,我用@Tomato32 的例子解決了
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.