MVC LinQ ошибка поиска - PullRequest
       4

MVC LinQ ошибка поиска

0 голосов
/ 01 февраля 2012

Я очень новичок в MVC3, и мне поручено добавить окно поиска в мой контроллер MVC3 и заставить контроллер отображать результаты на основе поиска в базе данных.

Мой код вставлен ниже, выдает ошибку, сообщение об ошибке также вставляется.

public ViewResult Index(string searchString)
    {
        var newsItem = from n in db.NewsItems
                       select n;
        if (!String.IsNullOrEmpty(searchString))
        {
            newsItem = newsItem.Where(n => n.Posted.ToUpper().Contains(searchString.ToUpper())
                       || n.Posted.ToUpper().Contains(searchString.ToUpper()));

        }


        return View(db.NewsItems.ToList());
    }

Ошибка:

'System.DateTime' не содержит определения для 'ToUpper' и нет метод расширения ToUpper, принимающий первый аргумент типа 'System.DateTime' может быть найден (вы пропустили директиву using или ссылка на сборку?)
C: \ Documents and Settings \ Администратор \ Мой Документы \ Visual Studio 2010 \ Projects \ Web_Assignment \ Web_Assignment \ Controllers \ NewsController.cs 27 40 Web_Assignment

1 Ответ

2 голосов
/ 01 февраля 2012

Я думаю, что свойство Posted имеет тип DateTyme. Тогда, если вы действительно хотите искать в столбце DateTime - вам нужно преобразовать его в строковый тип: newsItem.Where(n => n.Posted.ToString().ToUpper().Contains(searchString.ToUpper()) Но, может быть, вы действительно хотите искать в свойстве Text?

newsItem.Where(n => n.Text.ToUpper().Contains(searchString.ToUpper())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...