从数据库中获取数据 (mssql)

时间:2021-07-07 13:05:10

标签: javascript c# asp.net-mvc razor ssms

该项目是用 .NET MVC 技术编写的。这是一个特定页面,该页面显示具有特定类别的文章。根据类别,我创建了过滤器,它使用 JavaScript / jQuery 根据每篇文章所添加的类来过滤相关文章。问题是后台已经写了代码,每页获取一定数量的文章,过滤器只过滤页面上显示的那些,而不是全部。这是否可以在 JS 的帮助下以某种方式解决,或者创建某种查询以从数据库中获取正确的文章?

这是一段代码,显示了如何在视图中添加类别:

  <span class="category @foreach (var cat in @item.Category) {@(cat.Title+" ")}">
         @foreach (var cat in @item.Category)
                                            {
        <span class="cat @cat.Title">@cat.Title</span>
                                            }
   </span>

这是获取文章列表的代码:

  var list = new List<ArticleViewModel>();
                foreach (var catalog in Model.Articles)
                {
                    list.Add(catalog);

                }

Picture of the filter

控制器中获取文章的代码:

  public async Task<ActionResult> Index(int idContent, string idlang, bool isPreview, string type, int page = 1)
{
    ArticleIndexViewModel model = await GetIndexViewModel(idContent, idlang, type, page);
    
    return View(model);
}

private int _numPerPage = 4;

private async Task<ArticleIndexViewModel> GetIndexViewModel(int idContent, string idLang, string type, int page)
{
    ArticleIndexViewModel model = new ArticleIndexViewModel();
    model.Title = ContentViewModel.FromModel(await RepositoryService.ContentRepository.FindByIdAsync(idContent)).Title;



    model.CurrentPage = page;
    model.NumPerPage = await RepositoryService.ArticleRepository.CountAsync(p => p.Visible);
    model.Articles = (await RepositoryService.ArticleRepository.GetVisible(idLang, (page - 1) * _numPerPage, _numPerPage)).Select(ArticleViewModel.FromModel).ToArray();
    model.NumElements = await RepositoryService.ArticleRepository.CountAsync(p=>p.Visible);
    model.NumPerPage = _numPerPage;





    return model;
}

1 个答案:

答案 0 :(得分:0)

转到与视图关联的控制器/操作并修改模型。不,如果视图中没有数据,则不能使用 JQUERY 或 JS 对其进行修改。

附言可以从后端获取额外的数据,前提是你有一个接口(控制器/动作可以为你提供这种数据)