Я работаю над методом поиска, который будет вызываться с помощью Ajax и обновляет Webgrid в Mvc4. Поиск будет проходить через список объектов Project, который содержит некоторые поля.Поиск по стране код
Одно из полей - Страна. И сейчас мой код проверяет, только если строка ввода содержит строку для поиска:
private bool StringStartWith(string input, string searchstring)
{
bool startwith = false;
var inputlist = new List<string>(input.ToLower().Split(' ').Distinct());
var searchList = new List<string>(searchstring.ToLower().Split(' '));
var count = (from inp in inputlist from sear in searchList where inp.StartsWith(sear) select inp).Count();
if (count == searchList.Count)
startwith = true;
return startwith;
}
Но я также хочу, чтобы иметь возможность осуществлять поиск по коду страны. Поэтому, если я пишу «DK», он должен сказать, что он равен Дании.
Надеюсь, я смогу помочь. Спасибо.
// UPDATE !!
Ответ iTURTEV помог мне заставить мой метод работать должным образом. Мне просто нужно было обновить свой метод, как показано здесь:
private bool InputStartWithSearch(string input, string searchstring)
{
if(searchstring[searchstring.Length-1].Equals(' '))
searchstring = searchstring.Substring(0,searchstring.Length-2);
bool startwith = false;
var inputlist = new List<string>(input.ToLower().Split(' ').Distinct());
var searchList = new List<string>(searchstring.ToLower().Split(' '));
if (searchstring.Length == 2)
{
var countryCode = new RegionInfo(searchstring.ToUpper()).EnglishName;
if (inputlist.Any(country => country.ToLower().Equals(countryCode.ToLower())))
{
return true;
}
}
var count = (from inp in inputlist from sear in searchList where inp.StartsWith(sear) select inp).Count();
if (count == searchList.Count)
startwith = true;
return startwith;
}
Большое спасибо.
Может быть, у вас есть список объектов стран? Или таблицу базы данных? Вам нужно каким-то образом отобразить код в стране, но вы указали недостаточно информации, чтобы сообщить нам, откуда вы хотите, чтобы эта информация поступала. – GolezTrol
@GolezTrol прав, используя таблицу базы данных, позволит вам сэкономить все это во всем мире, а также попытаться объяснить немного больше. –