Печать данных в таблице на основе другого значения таблицы MVC ASP.NET - PullRequest
1 голос
/ 06 апреля 2020

Я хочу отобразить определенные данные в таблице на основе идентификатора - userDetails.Name .

Здесь я сохраняю определенные пользовательские данные, которые хочу использовать в контроллер для установки условий.

[Login Controller]
Session["PID"] = userDetails.Name;

Здесь я хочу установить условие для распечатки данных на основе этого значения.

[Data Controller]
public List<ViblyyKeyy> UserGetKeys(string search, string sort, string sortdir, int skip, int pageSize)
        {

            pidusername = (string)Session["PID"];
            using (LoginDataBaseEntities dc = new LoginDataBaseEntities())
            {
                var v = (from a in dc.ViblyyKeyies
                         where 
                                 a.PIDName == pidusername &&
                                 a.Name.Contains(search) ||
                                 a.PIDName.Contains(search) ||
                                 a.Value.Contains(search) ||
                                 a.ExpirationDate.Contains(search) ||
                                 a.Application.Contains(search) ||
                                 a.Type.Contains(search) ||
                                 a.Environment.Contains(search) ||
                                 a.Comments.Contains(search) &&
                                 a.PIDName == pidusername

                         select a
                                );
                int totalRecord = v.Count();
                v = v.OrderBy(sort + " " + sortdir);
                if (pageSize > 0)
                {
                    v = v.Skip(skip).Take(pageSize);
                }
                return v.ToList();
            }
        }

Контроллер действий -

  public ActionResult UserIndex(int page = 1, string sort = "Id", string sortdir = "desc", string search = "")
        {
            int pageSize = 10;
            int totalRecord = 0;
            if (page < 1) page = 1;
            int skip = (page * pageSize) - pageSize;
            var data = UserGetKeys(search, sort, sortdir, skip, pageSize);
            ViewBag.TotalRows = totalRecord;
            ViewBag.search = search;
            return View(data);
        }

Любой помочь в достижении этого? спасибо.

1 Ответ

0 голосов
/ 06 апреля 2020

Синтаксис должен быть следующим:

var v = (from a in dc.ViblyyKeyies
         where a.PIDName == pidusername);

Если вы хотите добавить его в существующий поиск, просто добавьте логический оператор AND или && в конце;

var v = (from a in dc.ViblyyKeyies
         where 
            (a.Name.Contains(search) ||
            a.Value.Contains(search) ||
            a.ExpirationDate.Contains(search) ||
            a.Application.Contains(search) ||
            a.Type.Contains(search) ||
            a.Environment.Contains(search) ||
            a.Comments.Contains(search) ||
            a.LastNotifiedDate.Contains(search)) &&
            a.PIDName == pidusername
         select a);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...