Как реализовать поиск в asp.net mvc который будет учитывать регистр?

192
18 сентября 2021, 16:40

Есть проект магазина в asp.net mvc, в нем есть поиск по книгам, но проблема в том, что поиск не учитывает регистр. Как быть?

код в представлении:

            @using (Ajax.BeginForm("_BookSearch", new AjaxOptions { UpdateTargetId = "results" }))
        {
            <div class="input-group mb-3">
                <input type="text" class="form-control" placeholder="Наименование книги" aria-label="Наименование книги" aria-describedby="button-addon2" name="name">
                <div class="input-group-append">
                    <button class="btn btn-success" type="submit" id="button-addon2" value="Поиск">Поиск</button>
                </div>
            </div>
        }
        <div id="results"></div>

код в контроллере:

        public ActionResult _BookSearch(string name)
    {
        var allbooks = db.Books.Where(a => a.Name.Contains(name)).ToList();
        if (allbooks.Count <= 0)
        {
            return HttpNotFound();
        }
        return PartialView(allbooks);
    }
Answer 1

На самом деле все оказалось куда проще, чем я думал

public ActionResult _BookSearch(string name)
    {
        var allbooks = db.Books.Where(a => a.Name.Contains(name)).ToList();
        if (allbooks.Count <= 0)
        {
            allbooks = db.Books.Where(a => a.Name.ToLower().Contains(name)).ToList();
            if (allbooks.Count <= 0)
            {
                allbooks = db.Books.Where(a => a.Name.ToUpper().Contains(name)).ToList();
            };
            if (allbooks.Count <= 0)
            {
                allbooks = db.Books.Where(a => a.Author.Contains(name)).ToList();
            };
            if (allbooks.Count <= 0)
            {
                allbooks = db.Books.Where(a => a.Author.ToLower().Contains(name)).ToList();
            };
            if (allbooks.Count <= 0)
            {
                allbooks = db.Books.Where(a => a.Author.ToUpper().Contains(name)).ToList();
            };
        };
        return PartialView(allbooks);
    }
READ ALSO
VB6.Отправка изображений с помощью WinSock

VB6.Отправка изображений с помощью WinSock

Есть сервер на VB6Этот сервер делает скриншоты экрана с определенной периодичностью и затем отсылает изображение с помощью WinSock клиенту

219
Visual Studio Sql Server не распознает колонку как int

Visual Studio Sql Server не распознает колонку как int

У меня не получается сравнить '>' tPproductPrice из-за ошибки что этот оператор не может сравнить типы string и int

147
Как скомпилировать такой код на C#?

Как скомпилировать такой код на C#?

Изучая исходникиNET наткнулся на такой код:

79
Система бронирования Bookeo оставить Webhook

Система бронирования Bookeo оставить Webhook

Есть система бронирования BookeoУ него есть свой апи и Вебхуки

83