Поиск по имени и идентификатору в asp.net

#asp.net #sql

#asp.net #sql

Вопрос:

Я должен выполнять поиск в форме с идентификатором и именем также в asp.net,

какое условие я должен использовать, чтобы проверить, что пользователь ввел идентификатор в поле идентификатора текстового поля или текстовое поле для имени, или я должен использовать только 1 текстовое поле для поиска по идентификатору и имени..

я использую sql server 2005 для хранения записей.

спасибо

Комментарии:

1. Вы могли бы проверить . длина, но вы также можете выполнить поиск как в 1 текстовом поле, так и в том, что вы хотите, я полагаю, но если идентификаторы всегда числовые, а имена нет, это может быть хорошим способом.

Ответ №1:

На вашем ASP.Net страницу, вы можете использовать RequiredFieldValidator , чтобы убедиться, что пользователь что-то ввел в текстовое поле.

 <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="Please enter your user name." ControlToValidate="UserNameTextBox" Display="Dynamic" />
  

Я бы использовал одно текстовое поле и позволил пользователю ввести либо свое имя пользователя, либо идентификатор.

Затем вы пишете запрос к базе данных в SELECT COUNT(*) FROM Users WHERE (UserName = @UserName) OR (UserID = @UserID) . Что-то в этом роде. Если COUNT равно нулю, совпадения не было. Если COUNT больше нуля, у вас есть совпадение.

Комментарии:

1. Не знаю о StoredProc операционной системы, но @UserName и @userId ссылаются на одно и то же значение, и поэтому оно должно быть общим, как @searchValue .

2. как насчет использования всплывающего окна на кнопке поиска? как это использовать ..?

Ответ №2:

Используйте поле со списком с двумя значениями: ID, Name

Затем, когда пользователь вводит текстовое поле, вы можете проверить значение, выбранное в выпадающем списке, чтобы узнать, выполняет ли он поиск по идентификатору или имени