如何使用ASP.NET Core实现搜索功能

本文介绍了如何在ASP.NET Core应用中实现搜索功能。通过建立Movie类,创建电影分类,然后在控制器的Index方法中添加searchString参数,并利用LINQ查询来搜索Movie数据。
部署运行你感兴趣的模型镜像

1.建立Movie类

public class Movie
    {
        public int ID { get; set; }
        public String Title { get; set; }
        [Display(Name = "Release Date"), DisplayFormat(DataFormatString="{0:yyyy-MM-dd}",ApplyFormatInEditMode =true)]
        public DateTime ReleaseDate { get; set; }
        public decimal Price { get; set; }
        public String Genre { get; set; }
    }

2.创建控制器

3.创建电影分类类别

public class MovieGenreViewModel
    {
        public List<Movie> movies;
        public SelectList genres;
        public String movieGenre { get; set; }
    }

4.在控制器Index方法中添加searchString参数,并使用linq搜索到所有Movie数据

 //实现搜索功能
        // GET: Movies
        public async Task<IActionResult> Index(String movieGenre,String searchString)
        {
            //从数据库中检索所有genre数据,并进行排序
            IQueryable<string> genreQuery = from m in _context.Movie
                                            orderby m.Genre
                                            select m.Genre;
            var movies = from m in _context.Movie
                         select m;
            if (!String.IsNullOrEmpty(searchString))
            {
                movies = movies.Where(s => s.Title.Contains(searchString));
            }
            if (!String.IsNullOrEmpty(movieGenre))
            {
                movies = movies.Where(x => x.Genre == movieGenre);
            }
            var movieGenreVM = new MovieGenreViewModel();
            movieGenreVM.genres = new SelectList(await genreQuery.Distinct().ToListAsync());
            movieGenreVM.movies = await movies.ToListAsync();
            return View(movieGenreVM);
        }
5.添加搜索按钮

<form asp-controller="Movies" asp-action="Index" method="get">
    <select asp-for="movieGenre" asp-items="Model.genres">
        <option value="">ALL</option>
    </select>
    <p>
        Title:<input type="text" name="SearchString" />
        <input type="submit" value="search" />
    </p>
</form>



您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值